It allows the memory addressing capacity to be 1 Mbyte even though the address associated with individual instruction is only 16-bit.
It allows instruction code, data, stack, and portion of program to be more than 64 KB long by using more than one code, data, stack segment, and extra segment.
It facilitates use of separate memory areas for program, data and stack.
It permits a program or its data to be put in different areas of memory, each time the program is executed i.e. program can be relocated which is very useful in multiprogramming.