I'm not even going to pretend like I use nursing diagnoses in my practice, because I don't. I haven't even thought about them since school, to be honest. I also definitely think that when you look at the lists in books, they can get into the realm of the stupid sometimes.
However, I actually do think they are useful to students (even though I feel like I'm going to be hit by some tomatoes for saying so.) I think they are helpful in teaching the student how to think like a nurse. If your diagnosis is pneumonia, the only way you can really fix that is through medical intervention, and the nurse does the very important job of implementing the medical treatment plan. However, if the problems are stated as impaired gas exchange or ineffective airway clearance or anxiety or whatever, it requires the student to think: What can I do as a nurse to fix this problem? It encourages the student to produce independent nursing actions.
The nursing diagnosis states the problem, or the thing that nurse is going to address, rather than just stating the patho. If a patient is diagnosed with stomach cancer, what is actually going on with her? We may know the patho, but what is bothering her exactly? There can be lots of problems, or nursing diagnoses, for something like that, and lots of nursing interventions for those problems.
Of course, I think we eventually move beyond the need to express these problems in the form of the nursing diagnosis, and we identify problems without even realizing we are doing it. However, I think the nursing diagnosis gives students a head start on that process.