Why does ServiceProvider:FindService() even exist?

All it is is a faster version of GetService() that will return nil instead of creating the service if the requested service does not exist yet, and therefore is more unreliable and is questionable to use in any reliable way, since I am not sure how to find out which services are guaranteed to always exist or not. So why does FindService() exist and where would you use it?