Your hard drive is a circle, think of it like a plate. When you eat your dinner, your food is neatly arraigned around the plate, meat, vegetables, potatoes, roll. The food will be data in this analogy.
Well lets say that you have to eat a bunch just for sake of making this analogy work. You constantly add and remove food from the plate, however what if you only eat half of the roll and half of the meat, but you want to put a full piece of new potatoes on the plate? Well, what NTFS will do, is just randomly put those potatoes wherever they will fit, so your food will get mixed up. As you can imagine after a while, you just have a sloth bowl of crap on your plate and if you want to eat just meat, you will have to spend a hell of a lot of time sorting out just the meat from the sloth on your plate.
A hard drive does the same thing, it has an arm that moves up and down while the disk spins, if the data is not in the same place, then it has to move up and down a lot which causes very slow io read/write performance.
When you run a defrag, it searches the plate, and moves everything back together, so if you want to access just the vegetables, you can do it quickly instead of having to pick and choose where its at.
NTFS sucks and is extremely out of date, it just puts shit wherever it fits. Defrag will put the shit near itself on the disk.
What an amazing analogy, I think I just beat the internet.