As stated above, motivation drives a lot of it. I don't by any means type "correctly", but CAN type reasonably quickly. When I first started typing, online access was a dial-up modem, and ISP's charged by minutes connected. That was a lot of motivation there, and it got quite expensive if I was typing hunt-and-peck one letter at a time.
Also, there were a couple "learn to type" games. That was also back in the DOS days, so I'm guessing they've come a long way since. But, that made it more interesting than just following along and typing boring sentences over and over. The one I remember best (and probably helped me the most) was a knock-off of Centipede, where it was letters for the segments, and you had to type in order. Getting progressively more complicated and faster made it much more complex as it went along. Being an old-school arcade fan, that helped a lot. YMMV on that one.
Last item I'll throw out there, (I didn't see it mentioned above) the keyboard itself. I am HORRIBLE on a laptop keyboard. The more tactile the response, the better I am with it. My best results to this day still come from using an old (AT plug, if that tells you anything) IBM "clicker" keyboard. Drives others in the office nuts when I did it out of the cobwebs, and takes about 3 adapter connectors in a chain to get it to work, but gives me the best results.
Ergonomics and everything else can play in to it as well, but find a keyboard that you're comfortable with. As I stated, for me, that is NOT a laptop. Flat keyboards just make it so much tougher IMO.