I think you're mistaken on a lot of your points. WW monks have had a lot of places to shine. They've had certain situations where they're amazing... and then they got nerfed. Start of WoD for example they were the best hands down in Highmaul for most of the fights. ToT with that stupid trinket they were up there. It's been years but Ret was amazing in Wrath and they've had limited but still included in high end raiding since TBC. Shadow Priests were broken strong in TBC and since then got hit kind of hard with that terrible "hybrid tax" that doesn't exist yet they do bring a lot of healing so it does seem to play into a roll there and yet even with a lower dps than other classes you still see shadow priests in high end raiding just not as much as other classes.
As for certain classes being garbage at certain fights... duuuhhhhhhh? Unless you want to get into mages and warlocks which by end tier are broken most classes traditionally have fights they suck at since you don't want one class to be the best at everything since with that why would you bring any other class? Looking at speed runs in HFC where they bring 10+ arcane mages and other high burst classes to kill bosses like Fel Reaver in 28 seconds that shows what they DON'T want the general game play to be and this is only in BiS end game over geared + ilv boost situations. Most classes have fights that they get to shine on and they do really well on and feel awesome and then they have other fights where they're mid range and other fights they kind of suck on and that's ok. Most people don't raid in guilds like Method that have to have the best possible raid set up for every fight.
One thing that's rather shitty is the cycling through of top specs per class through an expansion. It's kind of annoying playing one spec in one tier then the next tier comes out and now you're playing another spec and then the next tier comes out you're playing another spec again. Look at mages through WoD. They all started out as Frost in Highmaul then moved to Fire in BRF and now they play Arcane for BRF or go back to fire for AoE fights. Or even worse look at rogues. They've had to gear up 2 specs the entire expansion. Sub for ST and then Combat for AoE. It's annoying having to play Sub for a boss, respec to Combat for trash, respec back to Sub for the next boss, respec back to Combat for trash again, woo aoe boss get to stay as combat, then respec back to Sub for the next boss...
If anything the fact classes have so many options that it screws a lot of people over. Some people just love a certain spec of that class and that's their favorite. They know it and they're good at it and they might not be that strong at other specs. What if someone just loves Survival hunters but hates Marks? I raise you the 39359 Marks parses on Fel Reaver to that 199 Survival parses on Fel Reaver. I know a lot of Mages who just love Frost and yet most of them end up getting forced to play Arcane because it's so much better. How is that good game play? Sure Arcane mages are amazing and the best DPS atm but at the same time it screws over those people who would rather be playing Frost.