The semantic web relies on content providers taking the effort to properly annotate everything to make it machine-readable.
That is too much work for most people that are not librarians.
The real killer app seems to be something that can derive semantics from unstructured content without special markup. Look at the amazing job Google for example has done with its search-engine.
In order for a system to work, it must not place a heavy burden on its users.
A middle ground are tagging systems like here on Stackoverflow. They work pretty well, even though the tags are completely adhoc and in parts inconsistent.