Yeah I've blown the stack more times than I can recall when using non-tail recursion. I do enjoy recursion, it seems like a clean and elegant solution, though I'm ridiculously preoccupied with writing non idiomatic code.
Pascal Costanza has an interesting opinion[1] on why TCO wasn't included in the ANSI standard.