I don't get any spam, that probably depends on the domain, if it was owned previously, occasionally you might get an email intended for someone else. Almost all domains that I have mail for gets a catch all.
Face-palm moment, I've been creating custom account email addresses for ages - never thought of doing it via catch-all.
For example, gmail supports it so if your email is bob@gmail.com you can register for services using bob+something@gmail.com and it will end up on bob's mailbox.
While this is useful, please note that this is not as private as a catch-all alternative as one can always infer the actual e-mail address by just removing the plus sign and everything after it while using a catch-all you can completely obfuscate the actual username.