Dharma, Karma, Jnana and Bhakti.
Let us begin with Bhakti. What is Bhakti? Bhakti is unconditional love for GOD. But then Bhakti towards which God, you may ask? Well once again I repeat, Bhakti is “Unconditional Love” for God! And when you use the word unconditional, it doesn't matter which God; even the condition that it has to be a “particular God” has been dropped because one has realised that all Gods and Goddesses are infact ONE! I would say, pick the one you resonate or feel a connection with.
So now what exactly is Dharma? Dharma is often misunderstood as religion, this is incorrect! Dharma means a way of life, it includes righteousness, morality, responsibility and duty. So basically it lays down a structure to lead a clean and honest life as a good human being and to do right things. This as you will observe is what all religions also aspire to achieve.
Thus Dharma provides a framework or set of guidelines for our actions. Whereas Karma is the actual actions that you perform. Let me give you an example, a student's Dharma is to study well and appear for the exams. He/she should not cheat in the exams nor should he/she forsake studying and go and party. That is a student's Dharma. Thus Dharma tells us what we should be doing. What is the right thing for us to do in any given circumstance. Now one may act accordingly or one may not. That is entirely up to us. In either case our actions are our Karma.
Thus, as you can see, our Dharma is not in our hands, our Dharma is something that our circumstances, our position in life, etc. decide. But our Karma is in our hands. Now if we follow our Dharma and act accordingly i.e. Karma follows Dharma, then it will lead to our betterment otherwise it will lead to our downfall. Why you may ask? Well that's the law of nature, the most powerful law in this Universe, the law of Karma. What thou shall sow, so thou shall reap! Its elementary to conclude that if you study well as a student then you will get good marks and vice versa. Thus the right Karma leads to right results.
Now, in the "student" example it is fairly easy to know what our Dharma calls for us to do or what should our Karma be. But sometimes one is faced with circumstances where one cannot understand what one's Dharma is or to put it simply what is the right thing to do! Now this gives rise to what is called a Dharma-Sankat. That is exactly what happened with Arjuna on the Kurukshetra.
It is during this phase that we are subjected to the "big tests" by God. A student following his Dharma as a student is a good thing, but it is when a Dharma-Sankat arises that the true character of a person is tested. And how you fare in this test determines the future course of your life.
If you are caught in a Dharma-Sankat i.e. you are not sure what to do next; my advise to you would be: ask your conscience and whatever it says, do it! Do not let fear, greed, jealousy, anger, etc. emotions interfere with your conscientious clear thinking. The voice of the conscience is often very quiet, almost like a whisper and hence you need to keep the chaos of your emotions aside in order to hear what it's saying!
So now, what is Jnana? Jnana is Knowledge. Now knowledge can be with respect to computer programming, medicine, maths, economics, accountancy, law and so on. But in this reference Jnana means the Knowledge about the highest of all subjects, i.e. life and spiritual matters. Jnana can be categorised as follows :
Dharma Jnana : Knowledge about life and how to live it.
Atma Jnana : Knowledge about ourselves, as in our mind, our ego, our soul and how they all work.
Brahma Jnana : Knowledge about God and the creation and destruction of this Universe.