There are several reasons for the tank and healer shortage. Part of it is some people don’t find it fun. There’s not much that can be done about that. But there are people who like to tank or heal and some who don’t find it so onerous that they would never consider it. They are forced to choose one spec to heal or tank dungeons which make the rest of the game no fun for them. Some that would tank decide to spec dps so they can have fun playing the whole game.
I made that choice. I specced dps on my druid because questing, farming, and pvp weren’t fun with a resto spec. As soon as there was dual spec in wrath I added a resto spec and started to heal in dungeons. There are other classes that heal and tank that did the same and would do the same in BC. It wouldn’t solve the shortage but it would make it less severe