This is a well-illustrated article on how to do it step-by-step.
Anyway, Resetting of an instance may be needed due to many reasons such as need for an vanilla instance, changing the region and base currency, getting rid of some customization and etc.
Anyway, depending on the case there are few more things to consider prior to resting which I though of mentioning.
1) Do you need some of the customisation to be installed after resetting ?
If we need some of the solutions to be imported after resetting, you of course need to take those back-ups. More than that I would suggest, importing it back to another similar vanilla environment first to check if it works and keep that environment as a back-up.
So we have two back-ups;
- Solution File
- Another D365 instance with those customisation.
2) Do you need some of the reference data to be ready after resetting ?
Sometime creating some sample data could be time consuming. In such cases, its best to use Configuration Migration Tool to backup some of those data, to be imported after the reset.
Business Unit is one of the tricky entity you necessarily need to consider.
3) Do you need your existing Theme back ?
Keep in mind, Theme is not imported through Solutions, in fact, you need a plan on how to restore the Theme. Probably it could be manual work. (Though I haven't tried, I found this article on importing Themes.)
4) How it impacts Integration ?
Finally, just think of the impact on Integration, especially, if it depends on hard-coded unique identifiers of any records. (#2 assures reinstalling same Id's)