You're gonna have people tell you "everyone's different" when it comes to learning code, but they're not. There are, however, some recurring themes. WO7R and K0UA related some of their struggles when leaning code. I don't recognize their particular problems. That isn't to say code was easy for me, but my experiences more parallel W6MK's. The more I used CW the faster I got. It was (more or less) a continuous process. I may at times have felt like I reached some minor plateaus, namely 10 and 15 wpm, but it was never a big deal. Hell, I even learned the code visually first, supposedly a big no-no according to the guys who want to tell you "That's wrong, you gotta do it this way." But there wasn't much choice when I was cribbing ham radio literature in study hall and pretending to be studying. Well, I was studying, just not algebra.
Here's the thing: I never used recordings, tape or a computer to learn code. From the time I cold barely copy 5 wpm, all my practice was on the air. I wanted to use CW to make QSOs, so that's what I did. This has a double advantage. First, there's a powerful motivation to copy correctly when some is talking directly to you. It's embarrassing to ask for repeats. Secondly, it puts your copy in the context in which you're going to be using it. QRN, QRM, fading, et al. You learn to deal with it. You learn your radio's features, filters and interference fighting tools. W1AW code practice was particularly helpful when not making two way QSOs.
When I was a novice, I was fortunate to stumble upon a used, tube type Hallicrafters HA-1 keyer. This was more difficult than modern keyers as it had no element memory...so your keying had to be accurate enough to match the speed at which the keyer was set. Nevertheless, it was such an improvement over my J-38 that it was unbelievable. To this day, I loathe straight keys. Yeah, I know. There're guys that love 'em. And they can have 'em. When someone tells you that you need to learn on a straight key first, what they are usually, really saying is, "I had to do it that way, so you should too." So yeah, use a keyer. YMMV, but I doubt it.