Windows 3.0 came out in May 1990, 2 whole years earlier. It already had established an ecosystem before 32-bit OS/2 appeared.
Secondly, OS/2 2 really wanted a 386DX and 4MB of RAM, and a quality PC with quality name-brand parts. I owned it. I ran it on clones. I had to buy a driver for my mouse. From another CONTINENT.
Windows 3.0 ran on any old random junk PC, even on a PC XT class box with EGA. At first only high-end users of high-end executive-class workstations got the fun of 386 Enhanced Mode, but that was all OS/2 2.0 could run on at all.
OS/2 died when OS/2 1.x was a high-end OS with low-end features, and a cheapo low-end 386SX PC with 1 or 2MB of RAM, with MS-DOS and DESQview (not DESQview/X, just plain old text-mode DESQview) could outperform it.
(Remember the 386SX came out in 1988 and was common by the time Windows 3.0 shipped.)
But as soon as OS/2 1.x was a flop, MS turned its attention back to Windows, and before even the first betas of Windows 3.0, there were rumours in the tech press that MS was going to abandon the project. This was widely discussed in the media at the time.In my then-job, around 1989, my boss sent me on a training course for 3Com's new NOS, 3+Open, which was based on OS/2 1.0.
I did not realise it was a clever evaluation strategy. He knew I might have enthused about it if given a copy to play with. Instead, being trained on it, I was told some of the holes and weaknesses.
I came back, told them it was good but only delivered with OS/2 clients and had no compelling features for DOS clients, and they were very pleased -- and the company went on to start selling Novell Netware instead.
Looking back that was a good choice. In the late 1980s Netware 2 and 3 were superb server OSes for DOS, and OS/2 with LAN Manager wasn't.
But yes, I think from soon after OS/2 launched, it was apparent and widely reported to IBM that MS was not happy, and as soon as MS started talking about launching a new updated version of Windows -- circa 1989 -- it was very clear to IBM that MS was preparing a lifeboat and would soon abandon ship. By the time Windows 3.0 came out MS had left the project. Its consolation prize was to keep Portable OS/2, also called OS/2 3.0, later OS/2 NT.
This wasn't secret, and everyone in the industry knew about it. The embarrassment to IBM was considerable and I think that's why IBM threw so many people and so much money at OS/2 2.x. It was clear early on that although it was a good product, it wasn't good enough.
NT 3.1 launched in July 1993, almost exactly 1 year before OS/2 2.1, and NT made it pretty clear that OS/2 2.x was toast.
I deployed NT 3.1 in production and supported it. Yes, it was big and it needed a serious PC. OS/2 2.0 was pretty happy on a 486 in 4MB of RAM and ran well in 8MB. NT 3.1 needed 16MB to be useful and really wanted a Pentium.
But NT was easier to install. For instance, you could copy the files from CD to hard disk and then run the installer from MS-DOS. OS/2 had to boot to install, and it had to boot with CD drivers to install from CD. Not trivial to achieve: ATAPI CD-ROM drives hadn't been invented yet. It was expensive SCSI drives and a driver for your SCSI card, or proprietary interfaces and proprietary drivers, and many of those were DOS-only.
NT didn't have OS/2's huge, complicated CONFIG.SYS file. NT had networking and sound and so on integrated as standard, while they were paid-for optional extras on OS/2.
And NT ran Windows 3 apps better than OS/2, because each Windows 3 app had its own resource heaps under NT. Since the 64kB heap was the critical limitation on Win3 apps, NT ran them better than actual Windows 3.
If you could afford the £5000 PC to run NT, it was a better OS. OK, its UI was the clunky (but fast) Windows 3 Program Manager, but it worked. OS/2's fancy Workplace Shell was more powerful but harder to use. E.g. why on earth did some IBMer think needing to use the right mouse button to drag an icon was a good idea?
I owned OS/2, I used it, and I liked it. I am still faintly nostalgic for it.
But aside from the fancy front-end, NT was better.
NT 3.5 was smaller, faster and better still. NT 3.51 was even smaller, faster and stabler than that, and was in some ways the highpoint of NT performance. It ran well in 8MB of RAM and very well in 16MB. On 32MB of RAM, if you were that rich, we NT users could poke fun at people with £20K-£30K UNIX workstations, because a high-end PC was as fast, as stable, and had a lot more apps and a much easier UI.
Sad to say, but the writing was on the wall for OS/2 by 1989 or so, before 2.0 even launched. By 1990 Windows 3.0 was a hit. By 1992 Windows 3.1 was a bigger hit and by 1993 it was pretty clear that it was all over bar the shouting.
There was a killer combination that had a chance, but not a good one: Novell Netware for OS/2. Netware ran on OS/2 and that made it a useful non-dedicated server. IBM could have bought Novell, combined the products, and had a strong offering. Novell management back then were slavering to outcompete Microsoft; that's why Caldera happened, and why Novell ended up buying SUSE.
(For whom I worked until last year.)
OS/2 plus Netware as a server platform had real potential, and IBM could have focussed on server apps. IBM had CC:Mail and Lotus Notes email, it had the DB2 database, soon it would have Websphere. It had the products to bundle to make OS/2 a good deal as a server, but it wanted to push the client.