My take on lasers is that they teach you how you and your gun naturally point, i.e. without using the sights to aim. I do not use a laser and don't like them for self-defense guns.
The way I see it, most self-defense situations outside of your home will take place within 10-20 feet. There's not going to be enough time to use a laser and maybe not even the sights. You will be doing good if you can unholster your weapon and get your muzzle pointed at the attacker's mid section and get off one or two shots.
As far as making your shots group better, here are my recommendations:
1. Lots of shooting practice and dry-fire practice.
2. Do some reading and figure out what you are doing wrong - i.e. there's a chart out there that tells you what you are likely doing depending where your shots are landing. http://www.degrata.com/pdf/commonshootingerrors.pdf
Beyond that, you need to get some one-on-one training.
3. If after shooting your gun, practicing, training, etc. you still aren't grouping they way you want to, try a different gun. For instance, I don't group well with my Glock 17 - good enough, but not that good in my opinion. However, I group much better with a 1911 style gun, Sig, EAA Stock, even 2nd generation S&W 9mm. Most people will shoot some guns better than others. There's nothing wrong with my Glock - I just don't shoot it as well as other guns.
4. Training with a .22 pistol can be a good idea to correct problems.