Agency trandes/Principal trades

Could any one give some explanation about the difference between these two? and with soft dollar perspective?

principal trade: - price is important - the dealer assures full execution at a specific price level (discount/premium) - dealer takes opposite side of the trade (acts as principle) agency trade: - competitive commission rate - brokers act as agents and DO NOT take the opposite side of trade - broker works the order through soft dollar arrangements: Traditionally, the term “soft dollars” refers to commissions generated by trades conducted on an agency basis. an approach fails to recognize that research may be obtained through the use of “spreads” or “discounts” generated by trades conducted on a principal basis. For the purposes of the Soft Dollar Standards, soft dollar arrangements include transactions conducted on an agency or principal basis.

Agency trades: you pay a commission on your trade, i.e. you still “see” the actual price of the asset. Principal trade: the broker earlier has bought the asset himself, holds it in his inventory, and sells it to you earning a “spread”, i.e. you don’t see the actual price of the asset. Not too sure about it but I believe since the latter is less transparent, in the past principal trade soft dollars had to exclusively benefit the client account that generated it. Say you did a principal trade and you way overpaid for your stock or bond regarding transaction costs. It wouldn’t be fair to the client who received soft dollars on this “expensive” trade to allocate these benefits to other clients. I’m looking for different opinions though?

Thanks!

Pardon me for my ignorance- but when people buy shares online through a website, are they engaging in Agency or principal trade?