"The girl did not eat fish today."
Translation:Das Mädchen hat heute keinen Fisch gegessen.
I don't know why. It's just the way people use the language. The perfect form is not slang. Using the preterite in spoken German often sounds a bit formal. Whether it sounds formal because people don't normally use it or whether people don't normally use it because it sounds formal, I can't tell :) I guess it's a positive feedback loop. BTW: it's the same in French with the imparfait.