There are very good reasons people run Windows rather than change to Linux:

  1. It's what their employer or school has taught them and they don't want/need to learn another OperatingSystem. (Microsoft and Apple consciously exploit this by offering free computers to many educational institutions.)
  2. Games they want to play often only run on Windows; FirstPersonShooters usually being the exception.
  3. Even though Windows comes at a cost, many people already have it. Changing to Linux can cost far more than upgrading, at least in terms of time investment.
  4. They need to run an application written for Windows that is not portable; commonly specialist (often Proprietary) applications. F.ex, businesses have often been using some accounting package written in VisualBasic or VisualC++ for years; obviously, Unix versions of these applications do not exist and with the business being unwilling/unable to migrate, they are "locked in" to Windows.
  5. Though this is slowly changing, hardware manufactures rarely provide Linux drivers for their latest products (much less ones for less common Free systems such as one of the BSD flavours). People who want/need/would like to use these have no choice but Windows until someone writes a driver for their hardware and OperatingSystem. (Which may or may not ever happen..)
  6. You don't need to run Linux to get access to OpenSource software--see Ubuntu's list of open source programs

See also IssuesWithWindows and WellThoughtOutReasonsToRunLinux