Well for big companies Keil is also not always a blessing, lot of license issues where you pay a couple of $100k a year for some floating licenses but you are not even allowed to use them worldwide (because of the different dealers on the continents). So you're forced to set up floating license servers per continent ,do the negotiations per continent, pay the fees per continent. The floating license of the old version lives for one hour per computer, so if you have for example 100 SW engineers and 40 floating licenses this could not be enough if in one hour timeperiod more then 40 SW engineers and test and build servers build the SW. So what you would like is that it would release the license within a minute when the build is over, at least that would be logical. Now on a daily basis we burn tens if not hundreds of engineering hours because the licenses are not available. Takes back the good old times, write your software and study it over and over again before daring to press the build button (or as in the good ol' days, handing in your pile of punchcards and wait a day till you were delivered a pile of paper with the printout (no that was way before my days)).
Then you switch to a newer (not backwards compatible) version of the compiler but wait all the old products which are still under life cycle management still have to be able to be serviced and build so you also need to have the old version license, or spent hundreds of eng. hours converting the old projects, testsetups and buildservers. From an outside perspective (i have luckily nothing to do with those negotiations) it starts to look like a scam, once hooked you're in it for life.
Still I must say I would love to have a Keil compiler for my home projects, working with the ulink2 and everything taken care of is comfortable.