Dr Michael Sandel, Professor of Philosophy at Harvard, teaches a very popular and widely attended course - “Justice - what is right thing to do”. These lectures are also available online. Although many a times, ideas discussed are very abstract in nature, but Prof Sandel keeps them interesting by involving his students in the discussion.
Through one such lectures, I got to know about Philosopher and Teacher, Immanuel Kant. Kant, while answering what is morally right, gives an example of a shopkeeper, who avoids cheating his customers because he thinks word may get out and it may negatively hurt his business. As per Kant, although the shopkeeper does the right thing, but his action is morally wrong. A morally right thing to do not only means doing what’s right, but also doing it for the right reasons. Motive matters.
Kant mentions duty and inclinations, and argues that morally right is done for sake of duty and not for selfish inclinations. Consider this - if a shopkeeper does not cheat his customers because he thinks he is a moral person, then again, he is morally wrong. He should consider it as his duty.
In Hindu context, this is exactly what Krishna said in Geeta, and we almost always misunderstand the message. Doing your duty without considering the potential benefit you might get is the right thing to do (Karmanye ma phaleshu kadachana) whereas the common notion is doing your duty will improve your karma points which will help you later (if you believe in reincarnation, they might be helpful in laters births too). Hope you see that all of this is morally wrong.