Here at SFSE, there are already very good answers related to your question and I would recommend to read on with the following:
As you might see, there is no one and only general answer and the limitation differ in details which can have a huge impact depending on the details of your use case.
It's very important to keep in mind that things are in motion and we might expect "something for the desktop" around dreamforce'15 - so a huge VF migration project could be suboptimal timed at the moment.
Without knowing much of you requirement details, I would recommend to wait for dreamforce.
You need to ask yourself the questions:
- why do you need to rewrite/replace VF with Lightning now?
- Is there any current Lightning feature, which you don't have in VF?
- does the current VF implementation works fine - or not so fine and need rework regardless of Lightnification or not?
Here is a Lightning limitation excerpt (compared to VF) which is probably not complete:
- Lightning Components are in beta
- No dynamic email templates
- No dynamic PDF generation
- No direct API access
- No inline editing
- Strict CSP settings with some consequences, e.g.
- JS-libs can not reside on CDN but need to be Static Resources
- No Ajax calls to external systems
Mind also the ways of injecting Lightnig App/Components into the desktop UI. Peter Chittum has listed some options here:
There are three ways to surface a Lightning components today.
- A tab in the Salesforce1 Mobile app
- A Lightning App Builder app that is surfaced as a tab in the Salesforce1 mobile app (which pretty much gives you the exact same
thing today as you get in the first option, only it is in Pilot only)
- A lightning app with its own requestable URL
I would add to that only that there are (as far as I remember) some visualforce tags which let you embed Lightning components inside a visualforce page.