The biggest limitation is the internet. The networks that use phone lines and TV cable for data transfer cannot sustain transfer of high amounts of data. So for example, if every internet subscriber wanted to watch HD YouTube videos at the same time, we would experience massive congestion. I read somewhere that in one month, YouTube uses more bandwidth than all internet traffic combined in the year 2000.
Updating the networks to Fiber Optic lines is too much of a hassle, and too expensive, for internet providers. So instead of updating their technology, they throttle their subscribers. Comcast recently implemented a 250 GB monthly bandwidth limit. In Canada, Bell is throttling torrent files between the hours of 9am to midnight. If you want to download anything over torrent, you have to wait for midnight, or you receive the files at 5 kb/sec.
As for computer hardware, we have four cores in the CPU, 12 GB of DDR3 ram, and 2 or 3 video cards working in sync. What we need now are video games that can actually use all these resources.