In order for poker to work, you must gamble something, even if it is chips with no value attached, or peanuts, or play money in an online poker room. If you just want to mess around and experiment with the game, this can be quite fun, especially with friends.
However, if you want to truly enjoy the finer aspects of the game, you would be hard pressed to not play for some non-insignificant amount of money. That makes people weigh their bets carefully, and play smart - which makes the competition a lot more fun. Just like 20th level fighters vs orcs will get old quick while great wyrm dragons will provide more fun and entertainment, the better competition there is, the more fun I find the game.
The beauty is that "non-insignificant" can mean whatever you want, so long as all of the players you are with define it the same way. If you are playing with nickel dime quarter and that's the stakes everyone at the table likes, it will be fun. If you are playing for $100 buy in's and that's the stakes that everyone at the table likes, it will be fun.
I think the popularity of no-limit texas hold 'em is largely due to that everyone puts in a small amount to potentially win a big amount. For instance, I'll play in $20 buy in tournaments with 10 people. That means there is $200 at stake, and all I'm risking is my $20. That $20 get's me a couple hours of gaming regardless of whether I win, but since you could win $200, everyone plays hard and the competition is great.