Its simple. Most games today are designed for consoles. Consoles have hardware that is consistent across the globe making it easier to program for. That game is then ported to PC where there are literally hundreds of different hardware and software configurations. There are bound to be issues. Look at BF3. It started out being designed for PC, but halfway through they switched focus to console. The result is the most broken and buggy game to have come out in a long time.