The section on Mono skipped over a lot of history which is important if you want to understand why it flopped on Linux. That's understandable because you could dedicate the whole article to the history of Mono and just scratch the surface. I'll just satisfy myself with adding in a few more details.
Novell had bought Suze and was looking for life beyond Netware as an enterprise IT vendor. They bought Suze and were buying up various other assets. One of them was de Icaza's company (the name of which escapes me) which they bought for its management software (which didn't last long).
De Icaza had been working on the idea of an open source equivalent of Java (which was still proprietary). He sold the idea to Novell that they couldn't be a real enterprise vendor if they didn't have their own complete "stack" like Sun or Microsoft. This role was to be filled by Mono, with Novell writing the cheques to finance development.
Reception among developers however was cool. A few were openly hostile for a combination of reasons. One was concern about the legality of the licensing, as doing anything actually useful with Mono required going well beyond the specifications that Microsoft made open and required copying stuff that definitely was proprietary to Microsoft.
Another reason was that de Icaza was going around trying to hijack other projects to get them to convert to using Mono in order to get some sort of a user base. He got a lot of push back from that. He also got his employees to write desktop applications for Gnome and used his personal connections with Gnome project managers to push them into Gnome as defaults. Once those people moved on to other things however, those applications were rapidly ejected from the defaults and replaced with stuff that actually worked reliably and without being resource hogs.
The main reason Mono didn't succeed in its target though was the supreme indifference which most potential developers or users had towards it. Dot Net developers weren't going to use Mono because they used MS Windows and that had the original Dot Net already, which was covered under Microsoft support contracts. Why pay more money to Novell just for Mono support? Java developers had no interest in switching from Java. And finally all the other Linux users simply didn't see Mono solving any problems that they actually had. They had other languages and tools which did what they wanted with much less effort, and if they had wanted a Java clone they would have been using Java (which most weren't).
Novell's strategy for reinventing themselves was faltering, and one of the casualties was their Mono subsidiary, which was spun off with de Icaza still in charge of it.
De Icaza finally found a user base for Mono, one that he had never expected. This was as a run time for game engines in competition with Dot Net. Game engine companies felt they were being bent over a barrel by Microsoft and were looking for someone who would offer a compatible product with more reasonable licensing terms.
Finally, here was a user base for Mono, and one that was willing to pay money to use it. De Icaza binned any ideas of being an enterprise full stack and focused on the game and mobile markets The core of Mono was still open source, but the profitable bits around it were taken proprietary.
Eventually Microsoft bought them, although more for the game and mobile assets than Mono itself.
I looked at Mono a few times to see if had potential use for a project, but always came away with a poor impression of it. It was slow and buggy, and documentation was pretty much non-existent once you tried to dig below the facade. Stuff may work if there was direct paying customer interest in it working, while for the rest it was haphazard as to whether it worked at all.
Mono pretty much vanished without a trace from the Linux news years ago. Any interest now seems to be from people trying to move their legacy Windows Dot Net server applications from Windows to Linux cloud VMs to cut licensing costs.