Like a few other hardware OS limits, when the logical block address (LBA) standard was decided upon by hard drive manufacturers, no one conceived that it would ever be insufficient for our computing needs. With the LBA system, hard drive data is identified by 512-byte addresses. The limit to this 512-byte system is 2.1TB -- and this is a size barrier that we are fast approaching. Like the world running out of Internet addresses with IPv4, a few decades back not many folks really expected the same standard to be used so far into the future that we'd be exceeding the capabilities of that system to be effectively used.
Seagate has said that they are working on a 3TB drive, but it'll need a sort of work-around to get it working. The solution is Long LBA, which we imagine will be soon to referred to as LLBA. This is an extended data address system that will only be supported in 64-bit Operating Sytems (yet another reason why we'd recommend switching over to a 64-bit OS if you are planning to upgrade any time from this point forward). Furthermore, without proper motherboard support (Unified Extensible Firmware Interface capable), you will not be able to boot directly from a drive over 2.1TB, as you'll need your advanced OS, such as Windows 7 or Linux, to be able to recognize the drive.
Because of this, we'll probably see a small production plateau at the 2.1TB HDD level. Now a days, 1TB and 1.5TB drives are quite common, and not all that expensive either, so hitting this 2.1TB barrier is just around the corner.
No doubt we'll some day hit the limit of the LLBA standard for our hard drives -- but don't worry, that's in the near-distant future.