you forgot two very important choices...

Developers have the freedom to choose to use a tool that helps them easily develop applications that look like crap on a stick.

OS/HW vendors have the freedom to choose to keep applications that look like crap on a stick as far away from their users as possible, lest the users equate said stick and associated crap with their otherwise fine products.