The biggest difference is going to be speed. If you run: #cd /usr/ports && make distclean it is effectively going to go through every single port in the ports tree running make distclean. Now given that there are 20000+ ports, that is going to take a while. If all you want to do is get rid of all of the distfiles, use rm(1).

If you want to be more selective about distfile removal (like only keep the distfiles for ports you have installed) or clean out work directories, use portsclean(1) which is part of ports-mgmt/portupgrade.