Apart from my almost-automated put selling and rolling forward strategy, another thing I do from time to time would be to sell puts when the market seems to be greatly underestimating future prospects.
As an example, I just closed one this morning for a tidy profit of $13,415 for doing nothing more than acting as the house for other people's bets. Here is the realized gain details pasted from my brokerage account:
Opening Transaction Closing Transaction
Symbol Quantity Date Price Net Amount Date Price Net Amount Gain (Loss)
ATLS1 Jan 18 '14 $25 Put -12 10/03/2011 11.30 13549.61 11/04/2013 0.10 -134.18 13415.43
What this says is that back when ATLS was trading in the 20s and anyone who followed it knew that there was a period of strong future distribution growth ahead, I sold puts for $11.30 per unit. Then I just set a GTC order to close out the puts at a price of 10c. That just happened today. So the puts I sold for $13549.61 were just bought back for $134.18. Yes, they expire in January and I could have just waited for them to expire but I generally close out when they reach a low price as that frees up margin power for more put selling (also it protects in case on an unexpected crash just before expiration - always better to be safe and close out the position when the vast majority of the gains have been made).
Yes, in this case buying calls may be even more profitable, however my mind is wired to prefer instant money coming to me now rather than pay out now for the prospect of future gains. Similarly, you could have made an even bigger profit by buying the units outright and riding it up for capital gains. However that takes even more money upfront than buying the calls and most of us don't have unlimited funds to buy every security that is expected to go up. So I just sell the puts and get the money immediately rather than wait.