if you have changed the structure of an aggregate, you can choose to either build an upcaster for existing snapshots, or remove the snapshots. In the end, snapshots are just a replacement for optimization purposes. Deleting them doesn’t change the behavior of the application, other than the speed at which it will load an aggregate, the first time.
If you have just changed the structure of (some) events, you don’t need to worry about snapshots, unless that changes in the events would cause a state change in the aggregate, in which case you’re basically back into the first scenario, I described.
Hope this helps.