"What did she buy the photographs of Moscow for?"
Translation:Зачем она купила фотографии Москвы?
зачем is about the reason for the purchase, для чего about the intended use of the pictures.
I think "what did she buy them for?" essentially means the same thing in English as "Why did she buy them?" but its somewhat idiomatic and clumsy at the same time, and I would prefer "why did she buy them" every time.
AIUI, Russian has two different sorts of 'why': почему, 'because of what?', and 'зачем', 'for what purpose?'. So the slightly awkward English is to show that it's the second meaning.
I agree. Question 'why': "Why did she buy so and so?" ("Почему она купила ...?"). Answer 'why': "Because she had been told that it was a good idea to send it to...". Question 'what for': "What did she buy this for" ("зачем она купила ...?"). Answer 'what for': "To send it to..."
I find it best to associate зачем with the more rural phrase "how come" and then I change it later. So "Зачем она купила..." would become "How come she bought...." And then I dress up the translation more formally.
In other/the most cases "зачем" means "for what purpose", and "почему" - "for what reason".
But in this sentence differences between "зачем" and "почему" are such insignificant.
Thererfore both shoud be considered acceptable.
Wouldnt зачем mean why did she buy them, rather than what did she buy them for?