Mads is right that one template matches just the root xml element, and one matches a specific element (Problems/Problem/Description). So, the two are operating on different elements. However, is your question more general? Is it why aren't two xsl:templates that could both match a particular XML element executed against it? In other words, why wouldn't both the template that matches "node()" and the the one that matches "Problems/Problem/Description" run against the same Problems/Problem/Description XML element?
If so, then there's a key XSLT concept you're missing, priority. It's similar to order of operations that you learned in algebra (division, multiplication, subtraction, addition). In XSLT it works like this. For any given XML element, the default behavior is to process it once and only once. It's the job of the XSLT engine to determine all the templates that could act against a particilar XML element and find the most specific one and only apply that template.
How specificity is determined is a bit complicated, but in this example, it' simple. One template matches any nodes (node()), and the other matches a specific, named, node. So, the specifically named node wins.
For the full rules on priority, see section 5.5 of the XSLT spec at W3C. http://www.w3.org/TR/xslt