That's the case now, yes. However, EC2 and S3 were started by using idle compute for .com, which they had boatloads of due to their size, and Windows Azure was originally meant to be an app hosting platform for .NET apps running on Windows.
The only other companies I can think of that tried being/are trying to be _just_ cloud provider are Rackspace (which has been barely hanging on as the CSPs are eating their lunch) and Hetzner (who seem to be doing okay), but both of these companies lean more towards "hosting provider" (i.e. renting compute is their business) rather than "cloud provider" (i.e. providing platforms for many use cases).