It may not seem like a useful task, but it is.
You are thinking of it from the perspective of an interactive shell--one where you type commands and wait for a response. But that's only part of the story. A shell is created whenever you spawn a shell script. Another copy of bash is created in memory and run. You do not interact with it, but it is there. That shell consumes system resources (RAM and processor time at a minimum).
At some point, the script's internal logic may conclude that only one specific program needs to run to finish whatever task it is meant to accomplish. Without using exec, the bash shell created for the shell script will sit, idle and unused (locking those computer resources) while the specific program runs to completion. Only when the specific program completes will the shell that spawned it finally end and free the resources used by that shell.
If the shell concludes that it does not need to do anything else other than the one, specific program--using exec "frees" the resources used by the shell in the sense that the specific program "takes over." That specific program will require resources of its own, but the net effect is that the shell no longer exists, and those resources are no longer consumed.