I've been building and improving the same CRM system for years ... while it is being used ... without a developer, without having a sandbox account, without losing data. Someone (or me) wants something new or changed or updated, I can do it right away, on my own. You can do a lot without coding, and when you do, its pretty straight-forward stuff. Best is the ability to connect Quickbase to other apps in the cloud via APIs (and easily via Zapier), or data-slurping from CSVs ... then you can do Magic. Great flexibility to be the boss of your data, not the other way around.
Quickbase apps are hard to share (no github type sharing), the 'app exchange' is a mish mash of stuff to get you started, but you'll quickly be customizing. If you want a canned app, this isn't for you ... the apps you will build can be continually be improved, it can start to be consuming (but everyone will consider you the hero).
Choose if: 1. Your processes are data centered, but existing apps are limiting. Our product attributes vary so much, a standard product database would never do.
2. You have time to build, expand, and improve as you go along. Basic database needs can be met quickly with QB, but making it a true app takes time
3. You are prepared to be hands-on with the system. This is a feature, not a bug, for running a business app in the cloud in 2017. The good news is that it will make your job easier and less stressful in the long run.
I've built a CRM application that follows the flow of our sales process. I can satisfy salespeople or management quickly with reports, changes, slick improvements. Now I can directly link their efforts with data from our ERP (via CSV sync), rather than forcing them to use it. Way better than going with Salesforce.