You did know, didn't you, that one record in Salesforce takes up 2kb of your data storage - even if it only has data in one field, or data in hundreds of fields. This doesn't seem too bad until you start getting data that grows exponentially and you wonder where your data storage is being eaten up. Data from Salesforce is !#$ing expensive. Before you rush out and give Salesforce more money, think about how you may be able to reduce data storage.
A great comment "just like a house it's probably smarter (definitely less expensive) to clean out your closets each spring instead of keep on building new rooms onto the house"
Things that can cause data storage to grow:
A related list with tens of records for each primary record you create.
Turning a Multi Select into a related list so that you can report on them (Multi Select Picklists are bad!)
Installing an app that adds thousands of unneeded rows into your Salesforce - eg Mailchimp, but thankfully that have an option to reduce the data now).
Storing each and every email sent (yes, the way Salesforce handles Emails is NOT cool at all. Try using Process Builder to store the email in Chatter rather than as a Task).
Creating thousands of unused tasks - look, people just don't use tasks - in fact they hate them and ignore them - send them a chatter post instead.
Bringing in data from an external system (try looking into the new Lightning Connect - it may not be what you need right now, but it may be in the future).
Person Accounts and NPSP 1 to 1 Account model - but these are necessary usually.
Log records - any form of logging will probably have huge costs associated with it.