Why are there only four primary partitions on an MBR disk?
Solution 1:
Is this just the way it was designed in the beginning? Can there really only ever be 4 primary partitions?
Yes, that's exactly it. The partition table at the front of an MBR disk (as opposed to a GPT style disk) has a very strict data-structure that dates from the 1980's when space was a precious, precious thing. The design decision way back then was to only allow four partitions, but allow one of them to be an 'extended' partition that was a pointer to another spot on the disk that could contain a lot more 'logical' partitions.
(This is the same reason why MBR formatted disks have trouble with 2TB+ disks. 512 byte size clusters, and 32bit fields containing cluster-counts for partition size = 2TB maximum disk size. A 4KB cluster size punts the problem down the road a ways.)
GPT is an updated method of handling partitioning that doesn't have these limitations.
Solution 2:
There are only four because the data structures for the MBR partition table only allow for exactly four records describing partitions:
You could create additional partition tables nested in definitions of what is called an "extended partition", but the partitions defined therein are traditionally called "logical" partitions. Keep in mind that this is a limitation of this specific implementation. Other partition types, like the GUID partition table, do not share this limitation.
Solution 3:
A primary partition is a low level concept - it's to do with the initial booting process of the machine, and is based on a well defined set of specifications. It's thus really quite hard to change the number of primary partitions, because a lot of disk and motherboard manufacturers would have to agree to implement a new standard.
Practically speaking though, this is a moot point - it's of relevance at 'boot time' for getting your OS started in the first place, but that's about it. Extended partitions exist, which allow more partitions on your disk. You couldn't boot off them though.
More fundamentally - most operating systems work with more disk abstraction - logical volume managers - which means that actual on-disk topology is largely irrelevant. (And indeed, it's often not desirable to segment your pool of storage)