I think the only point is that console hardware tends to be cheaper than a PC with similar performance due to the mass manufacturing. Also the games only target one platform so you don't have to mess with the settings to get decent performance (if the devs do their job correctly, that is).
I agree that console gaming is not really attractive nowadays if you're not on a budget and don't mind missing a few exclusives.
>the devkits usually provided their own (well written) primitives and game engines so bug-free (or seemingly bug-free) games
I don't think that's quite right, I think the main reason games seem buggier nowadays are because:
- Nostalgia goggles, some games were utterly broken even back in the day, we just don't remember those.
- Games are a lot more complicated these days, it's easier to test Pacman than GTAV.
- You can now patch games so "going gold" is not that much of a deal anymore. Back then if your Nintendo 64 cartridge shipped with a game-breaking bug you were screwed.
- Even though the games themselves are overall more complex, gamedev is also more accessible thanks to Unity and other frameworks. That lowered the bar for game devs and as a result the average skill level is probably lower than it used to be.
In my experience the "well written primitives" is a myth. Older console (anything up to the 16bit era) hardly had any primitives to speak of, you just wrote assembly and talked to the hardware directly.
Later consoles had a kernel or "BIOS" but it's really not as good as you could imagine. To take the PlayStation for instance, the BIOS is a piece of crap with poorly optimized code and buggy functions. Just read a bit trough http://problemkaputt.de/psx-spx.htm#kernelbios to get a taste.
FileSeek: Movement from the eof is incorrect. Also, movement beyond the end of the file is not checked.
FileGetc: For some strange reason, the returned character is sign-expanded; so, a return value of FFFFFFFFh could mean either character FFh, or error.
strstr: After rejecting incomplete matches, the function doesn't fallback to the old str address plus 1, but does rather continue at the current str address
Since the PlayStation doesn't have a MMU many games actually hotpatched the BIOS to fix some of these issues or add functionality.