The story behind rewrite API plays out almost like a Disney movie. You have WordPress and the human (played by you!). Two different worlds. Two different languages.
WordPress is a machine and only understands if you talk to it as such. You need to use a cold language of numbers and code so that it can understand you. Do you need to see a WordPress post? You need to ask him using query variables like
On the other hand, humans are friendly and talkative. They expect to talk to someone using words. They want to see URLs with the
post-title and not query variables.
The rewrite API is the translator that brought these two unlikely friends together. Rewrite rules convert your
post-title into the
p=123 query variable WordPress wants. Both sides get their happy ending (yay!).