Miners want to include as many transactions as possible in their block to get the (optional) transaction fee. But what motivates them to relay a transaction further to the network? Is this done solely for the greater good?
Nothing. That's why you send your TXs to several nodes.
Non mining nodes do it "to keep the whole thing working" as long as it is very cheap.
Because of this miners can't keep TXs for themselves and thus do not even bother to try and keep TXs secret. Maybe they also have a better conscience that way. :)
The only way to expect others to relay your own transactions is to do the same with theirs.
If you want your transaction included in a block you will either have to mine it yourself, which is nearly impossible if you would have to do so for every transaction you want to make or either you will have to assume that others will relay it to all miners so that eventually someone will include it in a block.
If you know from yourself that you are dependent on other miners, it is only logical that you help others to get their transactions in a block as well, so that you can assume they do the same with yours.
Relaying other transactions to miners also gives the miners the opportunity to make more profit (from fees), which will make it more likely that people will mine and that your transaction will eventually be included in one of their blocks.