A “catch all” is a way to accept emails for any address @yourdomain.com and have these diverted to a specific hosted email address. Where as an alias is a specific address @yourdomain.com which diverts email to a particular hosted email address.
It's important to note that you cannot send emails from the catch all or alias address but you can receive emails which are then delivered to the nominated email account.
We generally recommend not to setup a catch all option, as this can introduce a lot more SPAM on your email account.
The difference is around the name you use. For instance, a "catch all" is like casting a wide net when fishing. If anyone tries to email anything at a particular domain that will be sent to the nominated email address mentioned above. However, an alias is more specific and narrow. Instead of net fishing, it's more like fishing with a single rod. An alias is set up as just one particular address and looks just like a full email address. For example, email@example.com. If you only had one alias set up, if anyone tried to email anything other than firstname.lastname@example.org, the email would bounce and not be received.