Personally, I think there is a very important LINE.
If a game introduces an item shop for purely cosmetic items, items that allow a player to save some time, or some other things like content packs, then it's a good model.
The problem is when games cross "the line" and start offering players ways of gaining a serious competitive advantage in combat (PvP or PvE) over non-paying players.
I used to toy around with Runes of Magic, a F2P item-shop Korean MMO with a very good English port, decent support, and a lot of interesting and semi-original ideas. I quit playing it the day I realized that to gear up end-game you would have to spend about $200. You see, bosses in dungeons dropped gear (duh). The problem is, even "epix" would get more stats from cash-shop purchased enchants than the items themselves had. Imagine getting an epic in WoW with 100 stam and 100 strength, and then using US$ to buy enchants that would increase the stats by 200 stam, 200 strength and 200 agility. The game allowed players to buy "diamonds" (the paid currency) and sell them on the AH in-game, so in theory, a free player could farm gold (in-game currency) and buy them. But then you'd spend 10-20 hours to farm money to buy $5 worth of diamonds...
What I liked about the game was that I could pick it up and drop it as I pleased. I didn't have to worry about paying my monthly sub and not having time to play because I'm either busy IRL or in another MMO world.
League of Legends is not an MMO, but it's a perfect example of a solid cash-shop game.
You can download the game and make your account for free. There are 43 "heroes" in game (you could think of them as different classes) and in any given week, there are 10 that are free to play. So, you can start playing with one of the free heroes. When you play a game, you earn "Influence Points" (IP). You earn more for winning a match than losing, but as long as you complete your games, you are rewarded. The IP you earn can be spent to unlock heroes, and purchase Runes (stat improving items that persist between games). So, in theory, you can play the game for free forever.
On the other hand, you can purchase "Riot Points" (RP) for real money. You can spend these points on unlocking heroes. You can also spend them to buy XP boosts (100% bonus XP for each match) or IP boosts (earn 100% more IP per game). You can NOT spend them on runes, which must be bought with IP. You can also buy skins for one of your heroes, which are purely cosmetic, but show your devotion to the game and that particular hero.
In other words, the game is free to play and there is nothing you can't enjoy for free. Those who want speed up XP/IP gain, unlock heroes faster, or have custom skins, can spend money at their leisure. Personally, I spend $35 on the game when it came out (which to me was the same as a box would cost, and seemed reasonable to support a company whose product I liked) and I haven't spent a penny since. I still play one match a day with my friends after work :)
Trubbles Stormborn - 25 ARC / 22 CNJ ... 18 FSH / 14 CUL