In understanding MPEG-4 vs. H.264/AVC it's important to know that H.264/AVC are also both MPEG-4 as well. Let me explain. MPEG-4 actually consists of 22 Parts, many of which have not been implemented yet. MPEG-4 Part 2 was implemented in real world applications first and because of that, it has become widely known of as MPEG-4. My guess is that MPEG-4 Part 2 came first because it was the least complex of many video profiles for MPEG-4 and people could start viewing what MPEG-4 content had to offer sooner. This is because MPEG-4 Part 2 doesn't require as much processor speed or memory as that of H.264/AVC because it's decoding algorithms are less complex. Now, let's talk about H.264/AVC.
H.264 and AVC are actually the same thing. They refer to another part of MPEG-4 called MPEG-4 Part 10. So you can take your pick at what you would like to call it. MPEG-4 Part 10 includes Advanced Video Coding and uses higher level profiles than that of MPEG-4 Part 2. This type of decoding is more complex and requires more computer processor speed and memory because it uses more complicated decoding than MPEG-4 Part 10.
Note: Simple Profile and Advanced Simple Profile are included in MPEG-4 Part 2. The least complex to decode being the Simple Profile. AVC Baseline Profile and AVC Main Profiles are found within MPEG-4 Part 10. The least complex to decode being the AVC Baseline Profile.