Hey Tushar,
In my opinion, Mcleodganj is a clear winner. Situated above Dharamshala, the town has a number of experiences to offer to travellers of all kinds. Whether you're seeking an escape into spirituality, want to undertake an adventure or simply want to relax and indulge in great food, Mcleodganj has it all. It is ideal for solo trips, family vacation and even for a couple getaway. In fact, I spent one month in that beautiful town and had the time of my life. I wrote an article a while back talking about my favourite hidden gems, do check it out: https://www.tripoto.com/trip/exploring-hidden-treasures-of-mcleodganj-5982d4c6b865 Hope you have a great trip!
Both have their uniqueness and natural beauty. Macloedganj is kind of youth place. you can find cafes good restaurants and triund trek is awesome there.. about Dalhousie.. it is kind of family destination.. you can visit khajjiar chamba no sort of trekk and all.. but both the places are must to visit.
Well, if it's time or budget constraint, go for Mcleodganj as it's more cultural, diverse and happening. Dalhousie is a bit of a trekkers thing, try Khajjiar, Kalatop and the vantage heights of AF Base station.
Have been to both the places in June last year. maclaudganj is happening place. you can go there with frnds, boyfriend, family or alone. but it's not the case with Dalhousie. it's mainly for winters and for honeymoon types.