An abstract syntax tree can help your code make sense of what a user provides.
You can use a stack when you need to remember something and only ever need the last thing.
What other things can trees help you to solve?
Have you ever created something and then thought about how bad it was? What did you do?
Why should you consider using trees?