What you say is reasonably valid, but I wouldn't use anything that the guy at emulators.com has written as evidence. He has no credibility.
The point is, IF you have some code that can be sped up by SSE, or SSE2, or 3DNow!, you can do a simple CPUID command to see if it is supported, and if it is, you call the SSE/SSE2/3DNow! routine, otherwise you call the generic routine. There are not a plethora of instruction sets - there is x86, and generally you will just code in C for the most part, with *speed critical* regions coded with the above methodology.
Yes, the Amiga was a computer with console hardware stability. At the time, the PC was though. Things have changed from a new CPU release every year to a new CPU release every quarter, a new graphics system every 6 months. This makes the PC superior for those that want this, and for everybody else they can pick up damn fast computers for very little money.
There is no need to write in machine code except for speed critical regions - you most used inner loops, etc, and only if they can be enhanced by using code that the compiler cannot generate.