Yes, Han shot first. That's the way it was originally intended to be, and that's what lines up more with Han's character and who he is as a person. He does things off the cuff a lot in the movie. He shot at Darth Vader with no warning, too, but apparently that's okay since Vader blocked it with his force hand.
Its a pretty controversial topic, but, in a nutshell, to show that Greedo shot first helps with plot holes and confusion. Many were pretty upset by the change, but to show that Han shot at someone without being shot at first depicts him as a non-hero type of character. This day and age it is frowned upon by hero figures (i.e. police officers and FBI agents) to shoot at a person without probable cause. It's just a matter of generation and social changes during the years.