Having "." in the path leads to commands magically appearing and disappearing. cd somewhere and your command starts or stops working. It is obviuous that you were running out of "." if the command is "./doit" than if the command is "doit". The same problem applies to ".." and any paths starting with "./" or "../" and any other relative paths.
For personal commands I recommend $HOME/bin. From there they may migrate to /usr/local/bin if they are useful enough.
EDIT: As alluded to in the accepted answer, executable files (programs) in the current directory can do terrible things to your system. If they have the same name as a commonly used command, it is relatively easy for them to be triggered by changing to the directory containing them. Malicious people have been known to write such programs with the intent of causing harm. Accidental execution of such programs can be mitigated by putting the relative path entry at the end of the PATH list. Programs named with common misspellings of common commands may still be triggered.
.even though it isn't in the %PATH%. That's why PowerShell requires.\executable. – Hello71 Aug 26 '10 at 14:51