What's the difference between these two questions?
Speaker A: Your car looks very clean.
- Have you washed it?
- Did you wash it?
There is no significant difference between the two questions.
One could point out that the simple past tense used in "Did you wash it?" is prevalently used in American English, while "Have you washed it?" is more common in British English. The speaker who asks:
Did you wash it?
is referring to a action completed sometime in the past.
Another might explain that the first statement
Your car looks very clean.
is uttered by a speaker who notices that the car looks clean today. The Present Perfect tense is often used to express an action that happened in the past but whose results are felt in the present: Somebody washed the car (a completed action in the past), so the car is clean now (result in the present). However, the speaker does not know when the car was cleaned; it could have been yesterday, last night, or even just ten minutes ago.
Have you washed it?
If the speaker adds a time reference then the Simple Past tense should be used. (NB. The verb clean can also be used.)
Did you wash it yesterday?
If the speaker suspects the action happened recently, he might ask
Have you just washed it?
Present Perfect vs. Simple past questions are continuously asked on EL&U but it is very hard to find the perfect duplicate answer because there can be all sorts of reasons why one form is preferred over another.
Here is a short list of the Present Perfect vs. Simple Past questions