Virtual entities allow you to create the entity and fields in the CDS, but then use an external data source to store the data. To the user, the data appears in their apps like any other data. The alternative is to create an integration, which can be difficult, time-consuming, and expensive.
There are several limitations associated with using virtual entities, the most important being that virtual entities are read-only and users will not be able to create or update records for a virtual entity.