It is impossible for automatic filters to tell reliably, 100% of the time, whether a word is innocent or naughty. Take my example above:
If I called my ship the Birmingham Awe, it wouldn't get a second glance. That's a good and reasonable name for a ship.
There's a region of London called Cockfosters. It's got a London Underground station.
https://en.wikipedia.org/wiki/Cockfosters It's perfectly innocent. So Pride of Cockfosters would be a safe name for a ship. It might elicit a few giggles now and again.
But then look at the word "foster".
So if I was to name a ship Cockfosters Awe, it is no longer innocent. There's no automatic process that can detect the difference between that and Birmingham Awe, because computers cannot understand the meaning of "foster".
Frontier cannot allow a single rude name to slip through the filters. Therefore they catch everything. If someone cares enough about their safe choice that has been caught, then they can appeal and the name can be added to the whitelist by a human being -- someone who can look at the whole name and what it means.