Chad Callihan lays out some thoughts:
Unlike your lawn, which benefits from a regular mowing to stay healthy and looking nice, a database isn’t meant to be regularly shrunk just to keep its size under control.
Read on for Chad’s take, which is one I agree with wholeheartedly. There are specific circumstances that merit shrinking a database. The main use case is when you have a significant level change: you’ve archived or deleted a bunch of data. There are very few other valid use cases, especially when you consider that databases typically have positive growth.