Google Now works off of Big Data Analysis. Essentially what this means is that Google Now analyzes all of the data it can find about you--your Google searches, the information stored on your phone (such as your contacts, emails, etc)-- to find patterns. Using this information, it then can guess using its algorithms things that you might want to ask it before you even know you want to ask it. This has two stages:
The Passive Stage uses "cards" in order to figure out what you want without you having to actually ask it. It's sort of what you can see on your phone's home screen--for example, Google Now collects data on your location in order to display the weather where you currently are.
In the Active Stage, Google Now is responding to direct questions that you ask it. It uses the Natural Language Processing to understand the question or statement's context (see the other page on Language). Then, it looks to find its answers in the Google Knowledge Graph.
Siri is a lot more on the active side of things than Google Now is. Rather than using outside information such as your Google searches, Siri is designed to only use information that it can get directly off of your device, such as your contacts and emails. This makes it much harder for Siri to predict your questions like Google Now can. Because it is more device-based when it gathers its information, Siri can be seen as the Personal Assistant that gives you more privacy.