Find and remove contacts based on no activity, contributions, memberships and events
You could find them via groups (or tags) and the custom include/exclude search.

If you have always used CiviCRM for everything then I think you should only need two groups or tags: 


All contacts 
All contacts with activities (as activites are created for contributions, membership and events)


If you have migrated data from a previous system or imported contributions, memberships or event participants then you may need to create groups or use appropriate tags for the all of the following:


All contacts
All contacts who have made contributions
All contacts who have memberships 
All contacts who have registered for events
All contacts who have activities.


Then go to Search > Custom searches > include/exclude search. You include All contacts and exclude the rest. 

You can delete contacts from the results screen.