Segmented memory, as it was called the memory segment programming model, was quite complex to program, but was viewed as a necessary evil. The root of the problem was the necessity of reducing the number of pins in the physical package of early x86 processors.
The use of memory segments is now (2003) almost non-existent, except than in embedded systems still 8086-based. The mainstream x86 line has switched to a more customary, flat memory model where a single number is sufficient to represent every possible memory address.