The reason there is a lack of tanks, is because of how raids (past and present) work.
10 man X raid = 2 tanks
25 man Y raid = 2 tanks
blizz should make 25's req 3 tanks, hell even on some bosses NOW only req 1 tank... val for one. al'akir, etc...
would even go as far as saying req 2.5(offspec) tanks in 10 and 4 in 25 (say mobs X Y Z - 4th give a debuff that increases damage taken by one of the others - or multiple of the others to the tanks)
if more people did roll tanks, there would be no spots for them in raids, this forces a lot of people who might of decided towards tanking, to simply dps.
Just my two cents.
this raiding trend also promotes a lack of knowledgeable tanks, ones that know about CC, know how to get out of fire / manage threat / gear / etc...
sure, more people may roll tanks, because of the lack, but most will not bother because of the difficulty in getting more than just "heroic gear".
^ the player base increases, more dps, more healers, yet not many new tanks actually get to shine, and more often than not, they fail miserably.
TLDR: more tanks are not needed in guilds, therefore experienced players are a lot less likely to roll a tank.
If you can think of other reasons for there to be a "lack of tanks" please post, i have 3 tanks myself, but only have one at 85.