Hindi words often tend to have different origins, because of the cultural melting pot that India has become. Originally most of the Hindi words were derived from Sanskirt. Later on, under Mughals came the Arabic and Persian influence, and still later English Influence. Now, I will try and answer your question
Prem- is originally a Sanskrit word- (sanskrit is like Latin -the divine language, considered pure and formal).-- Prem can mean something like the Christian love mentioned in 1Corinthians. It is less commonly used in common speech.but you can find this word in songs,poetry, and in formal speech.
Pyaar -- is the commonly used Hindi word for love. Meaning is exactly same- love. you can use it for love between lovers, brotherly love, paternal/maternal love etc.
Ishq -- this is an Urdu word, derived either from Persian or Arabic. Again used in poetry , songs etc. Almost never used in Hindi (in India) spoken language. but probably,might be in common use in Pakistan
Tip:- though all these words are there, it is very difficult for a lover to express his love (cultural issues) in Hindi. I feel, most of the people use the English words - I love you, than saying in Hindi or in regional tounges of India.