Migrating Existing Data
Migrating data (and processes) from a previously used (CRM) system is not a routine task. It will probably involve discussions, how existing workflows can be represented in CiviCRM - or what might even be changed.
Data can be imported into CiviCRM in the csv format. There is a field for "External Identifier" in the CiviCRM database that can save the connection to the identifiers of records in the old system.
General Aspects to Consider
There are a number of different aspects to consider. The CiviCRM User Guide actual provides a lot of good information about this.
see What is the price of CiviCRM?
CiviCRM is open-source and therefore itself available for free but you will need to pay hosting it on a server. Also, if you're not a techie you may need to pay for an expert for installation and support.
see CiviCRM User Guide: Hosting
If you take care of administering the system yourself on a webserver it will be cheap. If you lack the technical expertise and need a stable system, consider getting a complete hosted CiviCRM system from a provider.
see CiviCRM User Guide: Transitioning to CiviCRM
Don't forget to get the people from your organisation on board with your plans.