This is correct. It's a partial solution that helps cut down on badly addressed mail. I use it to check the input and it helps to pick up typos. If a user of a contact form gives a bad email address and never receives a rely, he does not blame himself but the contact form -- he figures he was ignored.
However, it does not provide clue about other invalid mailbox types like mailbox unavailable, mailbox quota full, etc. Probably, telnetting to SMTP ports to the mail server in question will properly respond with the status.
By using mail() [but not imap_mail()] php sets the correct bounce address [Return-path:] Here is the one from the SitePoint forum alert mail:
where "user=myDomain.info" is my email address. By setting up a catch-all sitePoint gets the desired feedback.