Flash has issues, but there's no superior product it beat out. Java is CONCEPTUALLY superior, but it didn't pan out - partially Sun's and partially MSFT's fault. ActiveX is more powerful, but is even conceptually a total lack of security and has no crossplatform support.
Since I haven't used it, hypothetically Silverlight could possibly be better, but I personally, based on their long track record, just don't trust MSFT to be even reasonably secure or to play nicely with others.
Flash video does tend to take 100% of your CPU... no matter how fast your CPU is. But youtube plays on pretty modest CPUs, so it doesn't require an especially fast CPU... it just uses what CPU it can find to make your experience better. And it's better in each version of FP. I agree, that's an issue if you're playing video on the web in the background. For some reason. Although, there are plenty of players for FLV and MP4 that aren't Flash Player... like Quicktime.
As for overlays, there's no reason to do that. That is, while you might not believe it, Flash Player isn't a video plugin like Quicktime - it's a full fledged OO programming environment. So you can put whatever you want over your video whenever you want, with a little programming. If you want to create a standardized overlay spec in XML so it's shared by a lot of players, you could do that. So the only thing you're missing is the ability to create overlays IN your video editing software, instead of in Flash... which would have to be a much more limited functionality than the complete programming language that ActionScript is.
I'll take being able to program truly interactive video over supporting overlays, any day.