A non-virtual function says, you have to do this and you must do it this way. A virtual function says you have to do this, but you don't have to do it this way. That's their fundamental difference.
When you kill someone by chopping off their head, rolling 'em up in a carpet and burning it, you'd better make sure they're dead!