Hi C nature,
OK, there are many schools of thought on this, so many SEO's will have different views. Nothing wrong with that Sure, Search engines and research speculates now that exact match domain names are no longer the be-all, end all of SEO relative positioning.
I have done several tests with regards to this, building test sites that are exact vs non-exact match domains based on market research. The exact match always (90%) of the time, beat out the other versions.
All my hyphenated domains tests have always taken longer (ave 44% longer) to start ranking, gathering rankings based on KW research than the non-hyphenated counterpart.
One other thing to consider is how search engines perceive hyphenated domains. Because they have been known to be used/abused by spammers (which ultimately made them less credible from a trust perspective). This in turn was a direct correlation to the amount of time I mentioned (ave 44% longer) to get ranking.. search engines have a tendency to take longer authenticating these domain types, vs their non-hyphenated cousins.
If your looking for quicker results, perhaps focused around 1-2 main keywords, then the exact match domain (non-hyphenated) would be your best bet, to build the site/domain around. For that specific keyword or 2, it will yield the quickest results over time. Link building, social profiles etc will still need to be built out to get signals moving in the domains favor to establish itself within the SERP's. It will be up to you to build out a more structured plan around other keywords/terms to focus on for short and long tail search through content development and on-site optimization.
The competitiveness of the 'target' keyword can also play a factor into the domains non-hyphenated domain and ranking performance. If the domain also has brand level keywords (something like coca-cola-softdrinks.com might be difficult (if not near impossible) to even begin to rank for due to the brand authority recognized online of the actually coca-cola company site). It really depends on the scenario.
If your looking to build something long term, that could eventually be recognized, your best bet would be to build a site/domain out with a brand' style domain using a 'company brand name' and optimize it around that. It won't be exact match, and may take longer, but over time will build the trust using brand authority will yield better results.
If you think about it, typing in something like your example above (business-broker-alabama.com) would be a real pain in the a#$, LOL. It would either be the non-hyphenated or a brand level domain optimized around the focus on your domain example which would yield a better user experience from the get-go.
I'm thinking about re-doing my test/thesis over to determine if recent statements on exact match domains has changed in value. I think I feel inspired to do it again !! Time to start digging.
My opinion would be either non-hyphenated or brand level domain building. Stay away from the hyphenated and spammy looking domains.
Hope this helps. Cheers!