Xamarin came about because Mono had flopped badly on Linux, and the entire Mono development team had just been binned by their employer. Many years of effort and many millions of dollars of Novell's money had been flushed down the crapper on Mono with nothing to show for it.
The talk about Mono facing "hate" from the open source community misses the mark entirely. There were a few people who didn't like it (and a tiny handful who slagged it off at every opportunity), but that had little relevance to the corporate developers who were the intended market. Lots of open source developers didn't like Java any better, yet that didn't slow down adoption.
What killed Mono on Linux was indifference. Everyone looked at it, didn't see anything about C# or Dot-net or Mono that they gave a shit about, and proceeded to ignore it. Java developers, who live in their own self contained world outside of the mainstream of FOSS, looked at C# and Mono, weren't impressed, and kept using Java.
The mainstream FOSS world looked at C# and Mono, saw what amounted to Microsoft Java (the difference between Java and C# is like the difference between the Judean People's Front and the People's Front of Judea) and decided that if they weren't interested in Java, they were going to be even less interested in C#.
De Icaza's reasoning for creating Mono revolved around the following. Sun had Java. Microsoft had Dotnet. De Icaza reasoned that "Linux" couldn't be a "platform stack" (which was all the rage at the time, just like "cloud" is today) without something similar. However, de Icaza wasn't the sort of guy to come up with original ideas. He has a lot of energy, but what he does is come up with open source clones of existing proprietary products.
Cloning Java looked risky. Sun hadn't open sourced Java yet. Indeed Sun later releasing Java under a GPL license rendered the whole Mono effort moot.
However, Microsoft was trying to gain some credibility for Dotnet by getting ECMA to "standards wash" wash it with their big rubber stamp. This was just what de Icaza was looking for. He ordered a copy of the spec and went to work.
Meanwhile, Novell was trying to find a future for itself beyond Netware. They went around buying up "Linux" companies, including Suse (the number 2 enterprise distro) and Ximian (de Icaza's employer), the latter mainly I believe for the management software (which they later binned).
De Icaza is if anything, a good salesman and promoter. He convinced Novell management that they needed their own "Java" equivalent to be able to offer a real enterprise "stack", and that Mono could be it. Novell bought into it, and poured money into Mono over the years.
They may have got more use out of that money if they had just put it into a big pile and burned it. De Icaza had ideas about how to create Mono. What he didn't have was a successful idea of how to actually have it contribute anything useful to the company. Every six months or so, de Icaza would come out with a new brainstorm on finding a market for Mono. Each effort flopped miserably. Dotnet developers weren't interested in being cross platform (if they were, they wouldn't have been using Dotnet), and cross platform developers weren't interested in using Mono.
Eventually, Novell got bought by Attachmate (since bought by someone else). The Mono division got shifted over to come under the authority of the Suse division. Suse management looked at Mono and its record of failure, and immediately shut it down and binned all the developers.
De Icaza got in touch with some of his old associates from Ximian. They found some investors who let them start up Xamarin, with the idea of selling eye wateringly expensive development software into the relatively new market of mobile apps. I don't know if the company was financially successful, but they did manage to get acquired, which I suppose counts as a success in Silicon Valley terms.