It really depends on what's important to you and what you intend to use your device for. I have both a Nexus 7 and a TF300, and here's my comparison:
Nexus 7
Pros
Pure Google experience as mentioned above, essentially guaranteed to receive all foreseeable system updates (within reason).
Snappier performance from the quad-core Tegra3 (it's the same processor as in the TF300, but performs better in the N7).
Excellent performance on games, including ones that are very graphics intensive like GTAIII, Asphalt 7, Shadowgun.
Extremely portable, very comfortable to hold in one hand.
Very good battery life.
Cons
No rear camera.
No SD card slot.
No HDMI output.
Older models tend to have minor build issues like screenlift.
Weak speakers.
Asus TF300
Pros
Although performance not as snappy as Nexus 7, still very good (same processor), and still excellent for gaming.
10" screen makes playing graphics-rich games and watching movies much more enjoyable, as well as making business apps like word processor and spreadsheets much more feasible.
Asus is an excellent manufacturer, and their products are often the first non-Google branded ones to receive system updates.
Keyboard dock adds a lot of battery life and functionality.
Very good battery life.
MicroSD card slot (and keyboard dock has full SD slot)
HDMI out.
Pretty good speaker, but only mono.
Nice design, feels very light and slim.
Cons
A bunch of Asus bloatware that tends to bog down performance (disable 'em, especially Asus Sync).
Mild light bleed along the bezel on mine.
Rear camera is mediocre, but please don't use a big tablet to take pictures--it looks silly!
Only mono speaker.
Basically, if you only had one of them, I'd go with the Nexus 7 as the best overall package. If you're really into playing complex games and watching movies on your device (or want to be able to hook it up easily to an HDTV, like while traveling and in a hotel), then I'd really consider the TF300.