Think of it this way.
Extract-only is like using a premade preseasoned pasta sauce, straight out of the can. Just add to pasta and consume (even moreso with the pre-hopped no boil extracts). Darker extracts contain all the specialty flavors already. You can really only control how much extract (or sauce) you use, but not the flavor that it provides.
Steeping grains are taking premade base tomato sauce and then seasoning it and flavoring how you want, meats, herbs, spices, etc. You've got a set base (tomato sauce or lighter extract) that has some character by itself, but you're tailoring it the way you want with your other ingredients (steeping grains)
And then all-grain brewing is like making the entire thing yourself, controlling the tomatoes used in the sauce, the consistence, and so on. Lots more room for error, but lots of control over the final product.
If you wanted to brew a Porter, you could use dark malt extract. Or you could use pale or extra light malt extract, and steep some caramel malts along with black malt, roasted barley, or chocolate malt, to provide the colors and flavor you want. Basically, your steeping grains add flavors the way you want them to be, in addition to a small amount of fermentable sugars.