I did three extract batches, or extract with steeping grain, and don't recall having trouble reaching full attenuation. So I don't know about any connection between extract or steeping and the 1020 curse.
However, my fourth batch, and my first all grain, is currently stuck at 1020. My experience bears out some of the experiment that was linked to above. With this batch, I achieved unheard of mash/lauter efficiency--97%, meaning that I extracted within one gravity point of the maximum OG for my grain bill. So, with so much sugar extracted from my grist, why is it that my yeast (1272) is attenuating only 63%, rather than the 72-76% cited by Wyeast?
For one, it's because I purposefully mashed my grains at 154, for a more dextrinous wort. I knew from the start my wort would be less fermentable than a wort from a lower, longer mash. But I believed that I'd still be within the 72-76% attenuation range for this yeast, and I was wrong.
Another piece of the puzzle, I now believe, is the fact that 20% of my grain bill were malts that yield less fermentable sugars. CaraPils (5% of my recipe) is billed as a malt that increases body, so that should have tipped me off. According to a few posts on HBT and other forums, Munich malt (15% of my recipe) seems to result in a less fermentable wort, though accounts are not entirely conclusive. (If anyone reading has the straight dope on Munich, I'd appreciate knowing more.)