What is the difference between the email app and the gmail app? I know the Email app can fetch multiple accounts at same time, but apart from that are there any other major differences?

If I only need to fetch stuff from the one gmail account, which app should I use? I only connect to the internet using wifi, so offline usability is desirable.

Running Android 4.1.1 on a Nexus 7.
The Gmail application speaks Gmail's own proprietary protocol back to the Gmail server, whereas the Email application speaks open protocols such as POP3 or IMAP, as well as supporting ActiveSync.  The Email application also has somewhat better support for multiple accounts.

If you are only using a single Gmail account then it is better to use the Gmail application, but if you're using multiple accounts, or non-Gmail accounts, you'll want to use Email.  Personally, I use Gmail for my Gmail account (which I only use for Google-specific purposes) and Email for my IMAP.