Some shell script programmers use absolute paths for even common system tools:
/bin/sed '/^$/d' data
This command line is intended to print the contents of the data file, but to skip blank lines. It does work on most GNU/Linux systems, but why specify the full /bin/sed path? Why not just sed?
Worse, sometimes people try to abbreviate this by saving the full paths in variables, after retrieving them with a non-standard tool such as which:
# Terrible code; never do this! SED=$(which sed) $SED '/^$d/' data
This use of which and full paths such as this is unnecessary, and there are no advantages to doing it. Bash will already search PATH for you for any command name; you don't need to rely on which (or even type -P) to do it for you.
Besides being unnecessarily verbose, there are other problems with this approach; this script isn't respectful, because it doesn't apply the user's choice of $PATH, and worse, it's not portable: on some Unix systems, the sed program may not be in /bin, but in /usr/bin, or even something very hard to predict, such as /usr/xpg4/bin (yes, really!).
So, keep it simple; just call sed, and let the system figure the rest of it out:
sed '/^$/d' data