I don't know that it's "amazing" but type commandname is really useful; reveals a lot of information and works in cases where which and declare would fail.
Simple example:
$ which ls
/bin/ls
$ declare -f ls
$ type ls
ls is aliased to `ls -la'
which gives an accurate result but does not tell you there is an alias; declare wouldn't tell you anything; but type alerts you to the alias.
Makes it useful for beginners to learn; but also remains useful to more experienced devs. eg. in scripts trying to determine what's available on a server or workstation (I once needed to detect NVM and didn't realise it was a function, so which didn't help; but type did).