Hi folks!

I've got a question: What is the difference between saying, "I've done my homework" and "I did my homework". Amazingly, I've already asked a bunch of English speaking people and they cannot clearly explain that. One is less formal? Weaker or stronger?
I've also been told that if you are in somebody's house (and not familiar with the person), if the person asked you "Have you eaten already?" rather than "Did you eat already", the former would be considered inappropriate and weird (?!).
Thanking you guys in advance for any thoughts.

There's a long thread on this under Common English Questions and Answers.

(As for "Have you eaten already?" being inappropriate and weird in that context, I don't think you've been told right!)
I've seen it! Very nice! thx!!