Can anyone suggest an example of an application where we need to know who sent the data but it doesn't really matter if they later deny that they sent it?
I would argue that most situations where you need authentication are like this. You very rarely need to be able to prove anything to third parties.
For example, if you have a TLS connection to a server, you need to know that the data is coming from the server and not a man-in-the-middle attacker, but there is usually no need to later prove that the server sent you the piece of data it did.
Note that non-repudiation does not mean you cannot "prove to yourself" who sent the data. If you use symmetric authentication and know only two parties have the key, then you know that any MAC you did not create was created by the other party. However, since you could have created the same, you cannot prove it to anyone else.