Could someone please explain to me why an external hard drive enclosure would have a limit for the storage capacity of a hard drive it holds. I see a lot of enclosures saying they support "up to 3TB HDD", shouldn't a 4TB HDD just work on these as well?
There are a couple reasons why an external HDD, or HDD enclosure might have a limit.
With a Basic HDD using the MBR (master boot record) partition type, it was set up to using 32 bit addressing. 32 bits can address 4.294 billion different sectors x 512 bytes per sector = 2.2 TB of space. If there were 2 2TB drives in an enclosure, it could hold twice that amount. If a HDD were set up using the newer GPT partition type, it theoretically could use up to 32 Disks, or up to 64 TB.
Also there may be a limit of address space in Network Area Storag enclosures because of the OS of the unit, such as Linux.
So it just depends on whether it is using 32bit or 64bit addressing, how many physical drives an enclosure can hold, and the OS used.
Some enclosures have a 2TiB limit, irrespective of the partition type. This is because the USB-SATA bridge IC's firmware can only address 32-bit LBAs. The firmware in newer enclosures can address the full 48 bits.
That said, if an enclosure supports 3TB (48-bit LBA), then it should also support 4TB and beyond.