The main problem is that programmes that you get on Windows are not made for Linux. I use music reader, page plus and dreamweaver. etc. only available for windows and apple. I don't dual boot and don't use wine because installing is too complicated and it wont run all windows programmes, so I have to use a separate windows computer. The people who make programmes for windows don't seem at all interested in Linux. Its such a shame because Linux is quicker and much more reliable. PC World dont sell any Linux based computers. They say What's that. Its seems there's some kind of conspiracy to keep Linux out of PC World and other computer shops.
It won't happen overnight, porting code from Windows to Linux takes quite a bit of developer resource (even for Java programs, which confuses me, as it defies the point of Java!). It's about a change over time, patience my young padawan
Sadly though, for the more "specialist" softwares, it's a case of demand. Stuff like Dreamweaver is used by a small section of business users, and Linux is also a small section. It's a bad combination for creating demand, coupled with the frustrating "chicken and egg" nature of porting software (i.e. "we won't port it as no-one uses Linux", and "we won't use Linux as nothing is ported to it"). Up till now, the answer has been "use alternative software" - e.g. Photoshop -> GIMP, MS Office -> Open/LibreOffice. However, companies like Valve are helping the software world make in-roads, creating demand and interest in Linux, which hopefully will cause other companies to prick up their ears and take note.
Side note - I wonder how difficult it would be to create an Android "version" of WINE? Kinda like an "AINE". In theory, you'd just need to port Dalvik (which should almost be copy-paste, as they both run on the Linux kernel!), then create a wrapper for the UI so that it uses the native WM rather than the Android XML-based one. Beyond me, but shouldn't be beyond everyone (probably not even beyond a college student!). It would allow Android apps to be executed on Linux desktops - could be another good pull onto Linux. Plus, stuff like Android widgets would work very nicely as desktop widgets or "desklets" as Cinnamon calls them, lol