While the above answer from Andrew Fawcett is spot on, I am thankful to Jesse Altman who did a brilliant detailed blog post on this subject in response to my question. I am sharing it here for everyone's benefit.
Quoting the relevant excerpts from Jesse Altman's blog post.
So, how are Salesforce1 and Aura related?
Well, Salesforce1 is built
on Aura. The Salesforce team has actually developed Aura specifically
for making the mobile experience better. Aura was actually originally
built for Salesforce Touch. Since then, the Aura framework has grown
immensely. Now, portions of Chatter, Sales Cloud Opportunity Splits”,
Site.com Component Framework, and the Force.com App Builder are all
using Aura. Note that this distinction is important. It is being used
on both Mobile and Desktop.
Why use Aura?
Aura comes with a rich and extensible component set to kick start
building apps. You don’t have to spend your time optimizing your apps
for different devices as the components take care of that for you.
The framework intelligently utilizes your server, browser, devices,
and network so you can focus on the logic and interactions of your
apps.
On top of that, Aura has a bunch of other benefits. Some other
interesting things to note about Aura:
It is open source
Aura lives on GitHub and can be forked/modified at
any time. You can even contribute bug fixes or functionality changes!
Aura is not native to the Force.com platform
Unlike languages like
Apex and Visualforce, Aura does not require Salesforce. It was built
for Salesforce, but it can be used by any developer. This will open
Aura up to a much larger set of developers. In conjunction with it
being open source, this framework will grow at a drastic rate Aura is
built using object-oriented principles Aura provides the basic
constructs of inheritance, polymorphism, and encapsulation from
classic object-oriented programming and applies them to presentation
layer development.
Aura heavily utilizes events to interact with different components
It is important to understand to the concept of
event-driven programming If you have ever developed with JavaScript or
Java Swing, you should be familiar with the idea of event-driven
programming. You write handlers that respond to interface events as
they occur. The events may or may not have been triggered by user
interaction. In my opinion, Aura is the way of the future. It is going
to be a fast, heavily tested mobile-first option. With the ability to
quickly transition between desktop and mobile, Aura provides an
incredibly powerful framework to create applications for all mediums.
Take some time to start learning Aura now and get a head start!