It is illegal because there is no way that the rook on a could have gotten out from the 1st rank.
Illegal Position Contest!

If the h pawn promoted to a rook, it would have to be the rook on b8, and it would have to have captured four pieces as well as the black c pawn.
Six black pieces have been captured in total (no black pawn could have promoted on h1).
The black kingside bishop, rook and queen could not have moved from the back rank. That leaves only three black pieces that could have been captured by the white h pawn on its way to b8 (knight, knight, queen's rook).
The position is illegal.

@CM JamesColeman: Yes, I was hoping someone would notice that! It's very necessary to analyze this possibility before concluding the position really is illegal.
@Pilchuck: Don't forget the possibility of Black promoting a pawn (hint: it's possible for Black to promote a pawn ).

cobra91, I did consider it, and said so. I didn't go into detail, because I considered it rather obvious. Two separate characteristics of the position disallow a black pawn promotion. 1, the number of white pieces still on the board, and 2, the necessity of the white pawn to capture something on c7 in order to promote on b8. Maybe the second is not an absolute, but it doesn't have to be.

cobra91, I did consider it, and said so. I didn't go into detail, because I considered it rather obvious. Two separate characteristics of the position disallow a black pawn promotion. 1, the number of white pieces still on the board, and 2, the necessity of the white pawn to capture something on c7 in order to promote on b8. Maybe the second is not an absolute, but it doesn't have to be.
A Black pawn can capture a White rook on b2 (the one that was trapped behind its own pawns). The same pawn can then promote to a queen (or knight) on b1 and maneuver to d6 (for example), where it can be captured by White's h-pawn on its way left. The effect this has on your capture count is significant.

^ Note that your position could have been illegal (even with only 2 rooks!) if you'd put the rooks on the 8th rank, like this:

I'm not sure if this is an illegal position but white opening with bulldog to b3 is a bad opening move:
I prefer to aim a bit closer to the "border" of legality, when devising an illegal position. Proving "almost legal" positions to be illegal usually accounts for half the fun!
Have a look at this one: