The RestoreEntity class is used by Home Assistant to restore an entities state when you restart home assistant. It saves periodically and when you shutdown home assistant, all the states of your entities in a file under config/.storage/core.restore_state. When you startup home assistant, integrations that extend RestoreEntity can call a method async_get_last_state(self) to retrieve the previous state and use it to setup the component.
As for why some use or don’t use RestoreState, some use this so they have an initial state in home assistant until they receive a new one. Others that work in, or have the option for an optimistic mode will require this as they have no way to retrieve a new state.
Ultimately it depends how the integration chooses to implement this feature, have a look at how they use the async_get_last_state() method.