The gist of it: IBM botched the "extend" part of embrace and extend. OS/2 was better but not by enough to migrate and stay. It had no "killer app" that drew the crowd and developers kept targeting Windows which OS/2 supported.
Also IBM f*ed up the OEM deals. OEMs preferred Microsoft which wasn't a direct competitor in the PC business.
By the time OS/2 came out, IBM wasn't a serious competitor for most OEMs -- they were high end, so were mostly competing with the likes of Compaq.
The big issue that no one is mentioning is that OS/2 needed 8MB of RAM to run decently, preferably more, but this was when most machines were 2-4MB and extra RAM was still a big cost.
When I was a student, around 1992-93, I did shift work for a few months in an MS production facility in Dublin. When it was slack I got assigned to degaussing floppies - most of them were "Microsoft OS/2 Version 1.0" install media. I never kept any for posterity :/
Also IBM f*ed up the OEM deals. OEMs preferred Microsoft which wasn't a direct competitor in the PC business.