The logic makes sense, Cloud Providers have excess capacity and instead of having it there idle generating heat and getting depreciated better use it and sell at cheap(er) price.
Customers gain because they pay less and can use them for lower-priority tasks or Hyper performance batch processing, any service that doesn't require continuous running.
Preemptive Virtual Machines are excess Compute Engine capacity and their availability varies. A VM of this type can be terminated by the Cloud vendor at any time if it requires access to the underlying resources for other tasks.
In Google Cloud
The Compute Engine always terminates instances of this type after they run 24 hours.
They might not always be available for provisioning
These types of instances are not covered by the Google Cloud SLA
These types of instances are not available in the Free-Tier
There's a service in the preview for Scalesets using Low-priority VMs:
The amount of available unutilized capacity can vary based on size, region, time of day, and more. Azure will allocate the VMs if there is capacity available, but there is no SLA for these VMs. A low-priority scale set is deployed in a single fault domain and offers no high availability guarantee.
Amazon can interrupt your Spot Instance when the Spot price exceeds your maximum price, when the demand for Spot Instances rises, or when the supply of Spot Instances decreases. When Amazon interrupts a Spot Instance, it provides an interruption notice, which gives the instance a two-minute warning before Amazon interrupts it.