Normally if you're in a certain directory you could do:
find *.txt and it will work as expected, but it won't work recursively through child directories, here's the correct way to do it:
find . -type f -name *.txt
The "-type f" is optional because that means only files, but we could have specified d for directory etc...
The above command will work recursively as you'd expect. In that way I find "find" to be unintuitive but this is basically what all find functions on all computers are implemented AFAIK (eg. front end search GUI's for different OS's).