one problem with linux is that it has so many distributions. as such, there is no longer a standard among the systems
and because there seems to be no standard, support dwindles. even software makers are having some problems when making programs run in different linux distros. most other software makers just completely ignore compatability with linux (para ala na problema)
lastly, user interface. most linux distros still use DOS-like interface (i.e. not user friendly). though there are some that have tried to copy windows' GUI (i.e. linspire--formerly called lindows, and bayanihan)
usually, users of linux are companies. since the need for the computer is purely for business, the learning curve isnt that difficult as compared to using it for your personal use.
the good news though is that efforts have been underway for the last few years to come up with a third party app that would allow windows programs to run on linux systems (codenamed project david). that would certainly lessen problems with linux. this would most likely encourage more people to switch to linux.
however, no final release has been scheduled so far. there was a beta demo before wherein they made a powerpoint presentation run (using project david) in a linux system