PC standard as exists today has 64 bytes, 16 bytes per partition between the 447th to 510th bytes of the first sector of the boot disk, as the partition table. The 4 entries are known as the primary partitions.
One entry can be used as an extended partition for holding the boundary of the logical partitions inside.
Since the BIOS only reads the first sector, or the first 512 bytes, of the first bootable hard disk there is no possibility of creating more than 4 primary partitions from a hard disk. The first 446 byte is the MBR and the last 2 bytes are spare.
Logical partitions works like links in a chain with the entended partition denoting the begining and end links. The 1st logical partition carries the address for the 2nd logical partition and the 2nd caries the address of the 3rd and so on. The logical partitions cannot be broken and do not have a well-defined begining and end points like the primary/extended partitions.
Linux differs from DOS, Windows, FreeBSD, PCBSD and Solaris by being bootable from a logical partition.
NetBSD and OS2 are the other known exception although I never done it with the latter.