I performed an analysis between DBAmp and CopyForce/Capstorm for a client within the last 6 months. We needed same requirements.
We ended up choosing DBAmp. It has many more features than CopyForce/Capstorm including the ability to run SQL at the SQL Server Level and the DBAmp plugin will convert and execute the backend SOQL for SFDC. DBAmp comes with procedures (detailed in its help manual, something like ReplicateAll) you can run that will refresh the DB Schema for SFDC. The ability to integrate DBAmp tightly with the SQL Server as an installed plugin was a plus for the client.
CopyForce/Capstorm was a stand alone Java program which could be customized for synchronization, but wasn't as fully featured as DBAmp.
Performance was similar on both tools.
Both tools provided the ability to refresh your local SQL Schema. However, DBAmp ended up being the winner because it had more features and was at price parity with CopyForce/Capstorm.
The challenges and drawbacks can include things like API Calls, how frequently you run the jobs, etc. We performed detailed analaysis of the tools by running mass loads into SFDC Full Copy Sandbox, then running the DBAmp Tool and benchmarking the time, API calls, etc for the refresh jobs. I'd suggest you do something similar.
Hope that helps.