There are cases when it is hard (or too expensive) to avoid leveraging the public cloud in IoT solutions. One such scenario is when you provide global services - building and managing worldwide distributed infrastructure introduces a significant effort and might disturb your operations.
What else would make you use a public cloud in your IoT deployments?