I have difficulties with the titular question. I find myself torn between "polite" and "honest." Regardless of language, I seem to choose "honest" and wind up putting my foot in it. (You may decide for yourself what "it" is in this context: my mouth, someone's posterior, or the dog crap on the ground.)
Case 1: Yesterday, a friendly Arab co-worker strolls in. "Good morning," I say, in Arabic. (Please note that I am not stating the fact that it is a good morning, I am wishing for him to have one.) "How are you?" he replies, also in Arabic, this time Iraqi dialect.
I falter. I want to tell him how upset I am in general, how frustrated I am at work, how I don't want to be here any more... but that all flies through my head in less than a second, as I couldn't possibly tell him all that, partially because my language skills hold me back (my instructors insisted there was no word for "frustrated" and that I should use "angry" instead; I could not decide if that made me "angry" or "angry"), and partially because I'm simply not allowed to yell at these people or even be that negative towards them in general.
So, I tell him, in Arabic, "Not bad." My standard lie in these situations. And then he corrects me, tells me I should say, "Everything's great/Very well" in Iraqi, and how to say it.
Case 2: This morning, my squad leader/battle buddy/mentor/friend asks me how I am. I decide to be honest. After I'm done being honest, and after the formation that happens right after that, I get scolded for "bitching at him."
meh
I understand that it's merely a pleasantry. I'm not really supposed to say how I am. People don't expect you to go into a diatribe about work or a narrative about how you think that the pain in your back will be permanent or your concerns about your relationship or how upset you were about the last episode of Babylon 5.
But I hate that question.