As far as I know from dictionary that both words compensate and recompense are same in meaning .But are those actually same or is there any precise difference?
No, they are not the same, although in some cases they may be interchangeable.
If you recompense something, you pay back expenses that have been incurred. So I paid for something, and you pay me back for it. This is a for of compensation!
To compensate for something (notice also the difference in use!), you may recompense expenses. But there are many other options.
Someone may compensate for a lack of knowledge with a great ability to look things up. I may compensate for your expenses by giving you time off.