URLs can only contain certain characters. Encoding replaces spaces, accents and symbols with %XX codes; decoding turns them back into readable text.
Questions
Why is a space %20 and sometimes +?
Both mean a space. %20 is used in paths; + is common in form query strings. The decoder accepts both.