If you're making decent-sized bets and your opponent keeps flat calling, there's several explanations for it.
1) He's a weak player and is calling with a losing hand
2) He's drawing to a big hand
3) He has a hand that he thinks is winning, but it's weaker than your hand
4) He's trapping with a made hand
I think the key is patience. I know the blinds keep going up in tourneys, and you've been waiting for that pocket pair for an hour in a ring game, but you can't expect to double-up every time you hit a hand. The trick is to bet enough so that your opponent isn't getting the
odds to draw to a hand that will beat you, but not so much that you're left crippled when he either hits his draw or was trapping to begin with.
Also, if you're over-aggressive you'll not only get trapped, but you'll also drive out some of your action that would've stayed in with a weak hand to a weaker bet. And make sure you take note of the players who trapped you with monsters in the past. I find some people online will slow-play absolutely anything.
You might also want to do a Google search for "Small Ball Poker". You may not want to adopt the technique, but it'll give you a good example of a winning strategy with very little risk.