IMHO, Windows is a high-end threat because it appeals to MIS departments to buy "Windows Everything" and they will feel that it is convenient to integrate Windows mobiles with all their existing Windows infrastructure. When it comes to managing the software installed on phones in the same sense as managing the software on employees' PCs and laptops, the MIS departments will like whichever platform has the best and most integrated tools.
Linux seems to be the lower-end threat because it doesn't have the advantage of "being Windows" so it will have to work on price alone.
Symbian could end up being between a rock and a hard place except for the fact that it is owned by Nokia. This guarantees it a large market share (for now) and plenty of investment.
I don't think that Linux investment is very large by comparison so it probably won't be able to develop and grow to support new phone designs quite as quickly.
Both Linux and Windows have the advantage of a huge variety and high qualty set of development tools which have been refined over a long period. Symbian's resources don't seem to be great enough to keep up with this yet. I am thinking in terms of modern compilers, memory debugging tools and incredibly useful tools like strace and ethereal.
There is also a very rich set of libraries that is available for Windows and Linux and the effort of maintaing ports of those libraries is likely to be much less than the effort of maintaining a port to Symbian.
Symbian tends to force one to re-design applications to fit it's model and that is going to be very bad for enterprises - it simply doesn't allow one to amortize the costs of developing software. Some might argue that phones don't run the same software as other systems but such an attitude is lacking in any vision and there are already examples that contradict it: eg. Opera, Helixplayer, KHTML and Zlib. An enterprise that knows it can recast it's internal systems to work on a .NET phone without completely rewriting them will be happier to invest in Windows than Symbian (ok - hurray for Appforge etc . .). Java was supposed to supply this for Symbian but it seems to be mainly useful for games at the moment. Not supporting a full-native API interface made Java a toy (IMHO again).
From this soup of thoughts I have a few conclusions:
1) Symbian is poorly sold in the high-end market - has no recognition. This will make it's acceptance in the enterprise market unlikely. This market isn't the main prize because it is of limited size but it is rich and a way to influence people and gain recognition.
2) Symbian will sell more than Windows anyhow and that creates an opportunity - anyone who can come up with a "killer" application will start to see a market that is big enough to be worth addressing. If Windows or RIM acquires a killer feature then Symbian's numerical advantage will allow time for that feature to be added to it.
3) The "flood" of software will not "happen" until the cost of GPRS and/or 3G downloads comes down very substantially (at least in the UK). The fact that bandwidth is expensive or of variable cost inhibits many innovations and operators need some sort of competition that will force them to reduce their thirst for ever higher ARPU (Average Revenue Per User) and alter the market in favor of the consumer. If the operators don't become more competitive, then the software market for handsets won't have any chance to develop at all.
4) Features are more useful when they are available everywhere and this means that handset manufacturers really need to make their phones more similar and less differentiated - a very unlikely thing for them to do unless the balance of power can be shifted away from the makers of equipment to the operating system provider and software vendors. MS has this power arrangement and it's a potent weapon. I think that the use of reference designs will probably help a lot. Linux is at entirely the opposite situation - the manufacturers have all the power.
5) It will be necessary to add a simple update feature for the software and firmware on a handset and this will have to have a good user interface and be very reliable and cost very little. This is supposed to be on it's way (OMA DM) but we'll see. This is needed so that older handsets can be brought up to some common standard with newer ones. Application software shouldn't have to be written to take into acount all the bugs and eccentricities of existing models in order for it to work on a wide variety of handsets.
Cheers,
Tim