It is the underlying architecture.
95/98/ME used FAT32 file structure as the default and a less stable kernel, which shared memory for all the processes. Windows 95 allowed you to hit CTRL+ALT+DEL to end a process, but because they shared memory, it often destabilized the computer, and required you to reboot nevertheless. One other great difference is that 95/98/ME allowed virtually any program to interact directly with hardware and other devices. This meant that if a programmer made a bad call to something, it could bring the system crashing down.
NT3.51/NT4/XP/Vista/Windows7 all default to NTFS, which was better at keeping file corruption down, and use a kernel, which keeps processes separate, so when you kill one, you do not destabilize the whole computer. In contrast to 95/98/ME, NT3.51/NT4/XP/Vista/Windows7 all require any calls to hardware and devices to be made by the kernel. A program makes the request to the kernel, and if the kernel deems it safe to execute, it does it on behalf of the program. This makes all the calls to hardware very clean and consistent, and not haphazard based on how some programmer programs.
The answer to question 2 is simply no. Each kernel was a different OS, requiring a different paid license, so they did not put in the functionality to boot different kernels. You could install different versions on different partitions, and boot them, but that is different from what you are describing with Linux.