Touch for replacing keyboards has just never been well implemented. For most people (non gamers) the tactile response from a keyboard is inconsequential. However, on PCs there has been, in every case I've seen, a buggy interface or recognition of input. You either have serious lag, or it can't keep up with typing speed, or some permutation of those issues.
As a pointing device (again, more so for non-gamers) touch is a lot simpler than a mouse. How it is that moving an object set off to the side to move a cursor on a screen to a given spot on that screen can be deemed simpler than just touching that spot is beyond me, but I guess for some that ingrained practice of moving a mouse has been too hard to break. I will note that again implementation can be a factor here too as I know of cases where some basic functions, like dragging to move or re-size windows, is beyond some touch applications' capabilities, or where the area of the screen is too cluttered for the precision of a finger.
So I would say the problem isn't with touch, but the way these companies have implemented touch. As a concept, an idea, and a functional practice, when done well it works. But the problem is it's hardly ever done well enough, and certainly not at the cost most consumers are willing to spend.