There are advantages to using Immunity Security or CoreSec products over Rapid7 (whether the commercial Metasploit offerings or the FOSS MetaSploit Framework aka MSF). You'll have to test them out for yourself, but it mostly has to do with being able to run canned exploits and organize plans/results. As far as I understand it, all MSF exploits can be run from Core IMPACT. Metasploit isn't going anywhere anytime soon, though, and can be used along with any other tools. Let me see if I can address some of its weaknesses first.
In terms of the payload, MSF's capabilities including meterpreter leave a lot to be desired. Most MSF payloads are easy to spot by AV and HIPS of many kinds. The default payload executable implements many common Windowsisms that I dislike it using, such as standard W32 library calls and dependencies. INNUENDO (and the earlier MOSDEF) from ImmSec is better, but MOSDEF has also seen a few fingerprints recently. App whitelisting is another concern for any implant-backdoor technology, but here is a bypass that leverages parts of MSF. Here is another that leverages Powershell. Many professionals avoid the default executable and use the generate -t
flag (or via msfvenom) to drop psh (Powershell), dll (for AppInit registry injection), or another uncommon format.
While MSF is partially embedded in Cobalt Strike's Beacon, the capabilities go way beyond what Meterpreter can do alone. Highly recommended!
Also, I've heard of others using tools such as Throwback for its simplicity. It's good to have alternatives. Another one I found is ClickOnce.
MSF itself even appears to be going a new route when attacking modern Windows (Win7 and higher, Win Server 2k8r2 or higher) through Powershell with web_delivery. An attacker can build on this framework to inject a lot more Powershell action for post-exploitation tasks, such as:
The MSF module, web_delivery, can also deliver a Python or PHP payload and may possibly be modified to support other interpreters such as Ruby. If you want to put it all together for a deeper understanding of "why Powershell over MSF", see this blog post -- http://www.labofapenetrationtester.com/2015/04/pillage-the-village-powershell-version.html
An extra worry for Powershell is when running up against Device Guard in Windows 10.
[UPDATE] According to one of the comments below, Metasploit Pro can utilize stronger payloads which are also being integrated into the open-source version of MSF. If you have Metasploit Pro, check the auxiliary/pro module improvements, such as generate_dynamic_stager. If not, read about the stageless meterpreter payloads.
Tools that use TCP (along with DNS) can be proxied through Meterpreter easily by using the msfconsole route command, proxychains, and the socks4a server module. After a session is created, setup a route to its network (or even localhost, as seen in the first link in this paragraph) through its session id. Then, run the socks4a module and pass its configuration to the proxychains.conf file. Even DNS should pass through appropriately. There is likely more than one way to run external tools through Metasploit. Like Ruby (and Perl before it), Metasploit is a framework where "there's more than one way to do it". It is up to you, as a developer, to integrate your ideas. Using the power of open-source software, contribute your changes and join in on the community.