Tail recursion refers to a function call being completely replaced on the stack by the next function it calls. Therefor when you recurse with a tail call your stack doesn't get deeper and deeper and deeper.
This is the feature that goto &tail_call provides in perl's runtime environment.
BTW, I totally aggree with the carpenter and bricklayer comment. :)