% is a like.. a universal mark, that basicly means "anything".
So you search for anything-$searchword-anything.
So if you search for ape, you would get the results
That's why they are good ;)
Also if you search a database, the database "post" would be a string, so you if you don't use the %, you have to search for the whole post to get a result.
Let's say you have a news post with this:
"Once upon a time there was an ape..."
If you don't use %, and search for ape, you don't get anything, cuz you have to search for "Once upon a time there was an ape" to a result.
IF you use, you would get the result "ape" and the newspost "once upon a time there was an ape" :)
To to tie things up a little bit, here's some more information that you might like to know (or might at least entertain reading my post for). The percent symbol (%) in this case is a wildcard character meaning essentially 'zero or more characters'. To build on the above posts, searching for '%ape%' would match results such as ape, aperitif, tape, psychotherapeutic to name a few. This can be a good feature or bad, depending on the circumstances. Generally people know the word that they want to search for and in this case it would be better to only bring back records with the discrete word ape, rather than records with words containing the letters ape in them. Achieving this won't be covered in this post, but instead I'll move on to what I originally wanted to mention.
As well as the percent wildcard, you can also use an underscore (_) which is another wildcard but behaves differently. Like the percent, it matches any character but this time it will match one, and only one character, rather than 'zero or more'. To give an example, using '_ape' would match records; cape, tape but not lapel, paper, apes, drape, 'blue cape' and so on.