I'm not a fan of HTML5 in the first place, since it seems to have been hijacked by people who failed to grasp what made STRICT so much better than Transitional in the first place... As if they are bound and determined to waste extra tags to replicate existing meanings, add new tags for no good reason (audio and video for example), and make websites an even more bloated mess than they already are.
But even if I take my complete dislike for the specification out of it, and look at CSS3 which I DO like a lot of... There are two things working against HTML5/CSS3 that make them NOT real world deployable in my book...
The first is obvious - IE lags behind, majority of people still use IE and more people use IE today than they did when they had 90% of the market... (what's more, 90% of 1 billion or 54% of 2 billion? Next person who says there are less IE users due to loss of market share is getting by boot up their backside)... given that most CLIENTS seem to still be using IE and it's better not to argue their stupidity with them, that means whatever you do HAS to work for them. Suck it up and deal.
The second though is the simple fact that both are still in DRAFT. Draft means it's there to play with to say "Gee isn't it neat what we MIGHT be able to use in a decade", NOT for building real world deployable pages.
It really seems lately like people don't understand that "BETA" or Draft means "don't use it for production work!"