When you tell your computer to "shut down", it's like trying to round up all the kids from recess, but telling them "alright, kids, finish your games, then let's go inside!"...it takes the kids a while to finish what they're doing. Yanking the power cable is like running out there with a flame thrower and herding all the kids toward the door. You might torch a couple of fat kids, but you'll usually just scare them.
The "proper" way to shut down (in my opinion) is the way that openBSD does it. It tells the disk to sync (you can force this by running /bin/sync), kills all of the processes, and shuts the fuck down. This is the equivalent of hiring a drunken hobo to run around screaming at the children and scaring them into going inside. It's very effective.