The user would choose which product they preferred. This all went pear-shaped when Microsoft bought up the original versions of Word, Excel, etc. and sold them as one package. Users didn't realise that this would lead to the current monopoly, with the attendant ever increasing cost and unwanted complexity, and went for the simpler shopping basket. Most of the PC software competition went to the walls, Lotus for instance surviving only by getting so far ahead of Microsoft on groupware concepts, but losing the bread-and-butter business of SmartSuite.
Borland was one of the early players, dominating the personal database market with dBASE, a market that they gradually lost to other databases, including the one Microsoft bought, Access. But dBASE was not a database in the sense of Sybase or DB/2; it did manage the data of course, but it had its own programming language and run time support, so that people actually wrote dBASE applications. Thus as they lost their market share for the database, they moved on to developing programming tools. Fortunately they focussed on tools for the emerging Windows GUI. They had developed a Pascal compiler, and this they used as the basis for a component- based Windows development system called Delphi. As usual Microsoft tried to take over the market with VisualBasic, and by exploiting their favoured situation they dominated the market. But VisualBasic is a distorted version of Pascal and the much sounder basis of Delphi gave Borland a significant technical superiority over Microsoft. This was not enough to usurp VisualBasic, but it was enough to keep Borland afloat.
Borland continued to enhance their application development system, introducing support for C and C++. A key advantage was the ability to mix the languages by virtue of compatible libraries. Thus Borland were well placed when the Internet came to prominence to add Web-based application to their development system. Microsoft of course had also progressed to supporting C, etc, but now there was a new dimension to consider, Java. C and C++ were standard languages, but Java was a Sun creation, backed by IBM. Microsoft could not afford to ignore Java, but nor could they push it as the new standard to replace VisualBasic. This then was Borland's opportunity, they could, and did, give full support to Java. Even more significant, they were able to merge Java support, to a high extent, with their other tools, making it attractive to their user base because it provided continuity with Delphi, etc.
However Borland went wrong commercially five or so years ago, renaming themselves Inprise and in so doing losing their identity. This was ridiculous because they had a good user base because of the ability to provide continuity. Anyway with some new management and a reversion to being Borland again they got back on track and benefited from the explosive growth of Java. Borland have kept up with the Java developments and have now enhanced their development and run-time systems to fully support the J2EE specification. They have left Microsoft way behind. The effect is that Microsoft VisualStudio is fine for Windows development, but Windows only. If anything Borland's systems are better for Windows development, but more important, they are applicable cross platform, including Unix and Linux. The impact of this ability to cover e-commerce development, a key factor now that users are wary of being trapped into Microsoft, is to make Borland a favourite with corporations and they have been one of the more commercially successful IT companies of late.
Now Borland are facing a new challenge. Because of the success of Java for server side development Microsoft have been forced to respond, with a new Java-like language, C#. They are even making noises about supporting C# on other platforms than Windows, which could be a real threat to Borland. There may therefore be some migration from Java to C#, which again gives Microsoft problems because of their poor support for Java. Not so Borland, and I can see no reason why they shouldn't continue to progress.