It's a bit disappointing to see that the OP forgot to mention that 90% of the cash shop items were obtainable in-game... except no longer. Of course, I'm speaking about the seasonal items.
These items such as the Pumpkin Heads (halloween), Reindeer and Snowman outfits (christman), Kabuto helms (new years), Egg items (easter), Valentione items (valentines day) were all obtainable on the day of the event even if you've missed the previous one annual event.
Let me repeat that part.
Were all obtainable on the day of the event even if you've missed the previous one annual event.
Essentially they've removed vanity content from the game, and placed it behind a pay wall. Seeing how the public response was complacent, this business practice not going to change anytime soon.
If you look at the business side of it, it is optimal to make seasonable items exclusive to only that week of the event, or cash shop only. Because it is suppose to entice players to spend money to play when they otherwise wouldn't. Else, if the player wasn't able to play, they would spend extra money on the item itself. But best of all, they can double dip, that is if the player was playing and didn't get the item, they would have to also pay an additional fee for the item.
What I find more interesting is that people would allow vanity items to be removed from game into a paid content, but cause an uproar when Valve introduced paid mods on Steam. Granted not all Steam mods are just vanity changes, but what was once free is now a paid content.
Selling these vanity items are treading a line were most players won't care, and those who do are marginalized.
On a personal note, I don't care for buying vanity items since I try to be practical. While I do enjoy collecting things, paying extra collecting virtual items feels like I'm just being suckered into paying for ideally nothing.