MPEG-4 is a container
A container format allows you to combine different multimedia streams (usually video and audio) into a single file. There are plenty of well-known multimedia containers such as: AVI (.avi), Windows' Advanced Systems Format (.wmv), MPEG (.mpg), Apple's Quicktime (.mov) and even Adobe's Flash Video (.flv).
You may think of your videos as 'Windows Media files' or 'Quicktimes' but in reality, '.wmv' and '.mov' are just container formats. Just like a ZIP file can contain any sort of data file within it, video container formats only define how to store things within them, not what kinds of data are stored.
MPEG-4 (.mp4) is a type of container that can hold video compressed with the new H.264 codec.
So what's H.264?
H.264 is a powerful data compression method that delivers high-quality video at a smaller file size. H.264's compression method allows for flexible control enabling the delivery of high-quality video to a variety of devices ranging from low-powered cell phones to high-powered Blu-ray players. This is why the H.264 standard is quickly superseding some of the more common formats such as DV, the popular standard used by many consumer video cameras, and MPEG-2, the standard for DVD video and broadcast digital cable TV. In a nutshell, H.264 is suited to any platform — handheld to high-def.
What'll play H.264?
Flash for now
Some good news is that Adobe's Flash Video (.FLV) is another alternative for containing H.264 compressed video. Flash (Player 9 Update 3 or greater) has a 99.6% installed base amongst Internet connected computers. This means if your client has a web browser, then they are very likely to have Flash installed and therefore be able to play your H.264 compressed video. A downside is you'll need to have your Flash Video hosted on a website because the Flash Player only works within the Internet browser (Internet Explorer, Safari, etc.)