Not to muddy the waters, but I have had a client with sites (2) going after the same keyword set -- my first thought was to condense them into one through a 301 strategy towards the "stronger" domain. For a myriad of non-SEO reasons, this didn't happen in a short timeframe and we ended up really glad it didn't. Our SEO efforts for domain A were helping domain B through some inter-linking we were doing and today (1.5~ years later) the sites are ranking #2 and #3 for hundreds of the same keywords. We actually spent some time removing some of those links between domains as many were using exact-match anchor text and did not any major losses in traffic to either domain.
In general I'd say that having one single site is better from a content management, link building and branding perspective. However, I do not feel that is blanket advice anymore. Perhaps the best strategy here is to redirect the "worst" performing domain into site A and carefully keep an eye on your rankings/traffic, then slowly phase in the other sites over time. I'd also be cautious about 301'ing many sites into a valuable site all at once as you may lose out on traffic.
If the keywords overlap and you have more than one site ranking, I'd think about perhaps consider leaving the "second best" site up for a few months to see how it performs. You may be happy with the results.