Different yeast straing have different attenuatiosn rates. That is the % of fermentables that they can process basically. So if a yeast has an attenuation of 75%, then count on getting 75% of the way from your gravit to 1.000. That is my understanding.
75% would take your 1077 to 1020. The expected. You got around 80%.
This thread at probrewer.com suggests others with the same issue with S05 at one point.
With extract, it's hard to determine the amount of fermentation because you don't know the mash temp. Mash temp is a big factor in determining fermtables vs non fermentables.