One of the main complaints with any touch interface, whether it be tablet PC, smartphone or media device, is the virtual keyboard. Just the nature of a virtual keyboard goes against our tactile sense. The "keys" feel like any other region of the screen and there is no delineation between one key and the next.
Virtual keyboards take up screen real estate when active. In fact, they often cover up the region of the screen you just tapped to bring up the keyboard. If the keys are too small it slows typing and increases errors. If the keys are too large, it can easily cover on-screen information. sometimes they rearrange on-screen elements so you can't really see what you are doing (and crossing your fingers while you are trying to type makes it that much more difficult).
The biggest malady of virtual keyboards is performance. Virtual keyboards range from clunky to "only if I have to" in their responsiveness. Typing on one of these keyboards when you're used to tapping away on a physical keyboard is akin to watching your friend hunt-and-peck as he fills in an online form, grabbing the mouse every time he needs to change fields.
From the world of Science Fiction, what would really make virtual keyboards work is a keyboard that extruded itself out of the display to form individual keys and, thus, a true virtual keyboard. But I don't hold out hope for that.