Truffle is a development environment (providing a command-line tool to compile, deploy, test, and build), framework (providing various packages to make it easy to write tests, deployment code, build clients, and so on) and asset pipeline (publishing packages and using packages published by others) to build ethereum-based DApps
MetaMask is a chrome browser extension that allows you to interact with the ethereum blockchain, all without downloading the entire data-filled blockchain. It’s a simple tool that allows you to use your cryptocurrency, all in your regular web browser. This will help more people access and use Ethereum dApps, without the technical know-how or need to download the whole blockchain and run a full node.
Parity is the fastest and most secure way of interacting with the Ethereum blockchain. It comes with an extensive, easy-to-use, in-built Ethereum Wallet and Ðapp environment that can be accessed via your Web browser of choice.
Geth is the command line interface for running a full ethereum node. It is implemented in the Go programming language, but does require its users to have proficiency in Go. It is free to download and install. Geth supports most major operating systems.
Ganache is a personal blockchain for Ethereum development you can use to deploy contracts, develop your applications, and run tests. Ganache lets you see what’s happening under the hood during development, and lets you introspect blocks and transactions to better understand how your application behaves.