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.