It's kind of sad that modern browsers have 3d rendering and sound synthesis capabilities, but don't have a working built-in date picker, a tree control or a built-in download widget that doesn't suck. The number of real-life, useful projects that could utilize those things are in hundreds of thousands. Thus, we end up with hundreds of badly designed and non-semantic widgets developed from scratch, plus a new wave of websites that look annoyingly like Flash and behave not much different.