Both. Most often it was incomplete, but it was also plain wrong on more than a few occasions.
By incomplete I mean there were gaps in the schedule, or there just wasn't much data for each program. That meant that automated recordings of series etc. were pretty unreliable. Movies weren't flagged as movies, programs rarely had the repeat flag (still don't, even in MHEG5, but I think that is deliberate), didn't include Episode names, just Series names, and then changed them around. Broadcasters schedule double Episodes of a series, and only include episode names, without the series name, or concatenate them together in inconsistent ways. Sports programs? Naming was all over the place, so it was hard to tell if what was scheduled was a repeat of a 1910 race (for example), or the current race happening live.
When it was wrong it often had the wrong program scheduled, or wrong start and end times. But sometimes it was just wrong because of the naming used for programs; either they had prefixes or suffixes in the name that messed up recordings, or they were VERY inconsistent in naming. i.e. N.C.I.S sometimes, and NCIS others, CSI and then Crime Scene Investigation. All sorts of prefixes and suffixes, but mostly promoting the program as new, or special, or something like that.
Timeliness of updates was also an issue, which was often the reason for the completely wrong program being scheduled. That is, a broadcaster changed their scheduled program, but the update didn't get into the EPG data stream. When I used to use a Topfield PVR I could see this as I was able to view the EPG data and compare it to the "Now & Next" data transmitted separately with the EIT.
Often the EIT EPG data looked like it had been collated by an intern in his first week in the job, but actually I think much of it was deliberate misinformation so that people couldn't use there PVRs to record and then later watch the programs, skipping advertisements.
The quality also varied a lot over time. Sometimes it would be good for a long while, and then it would be really bad. New intern I guess. But much of it looked like "I don't care" or deliberate errors.
Then along came Freeview, particularly the Plus version, with the promise of a better EPG system, when all they really delivered was better quality data in MHEG5 format. They have to keep the quality up, as that is the only reason for buying Freeview branded hardware, and hence, protect their advertising revenue stream, since Freeview branded products don't allow ad skipping. So EIT data is obfuscated while Freeview (MHEG5) data is curated, at least a little bit. I think some of the EPG improvement has flowed over to the EIT data stream, but not enough. When I swapped from IceTV to using EPG Collector last year I initially used EIT data. But it didn't take long to see it was still too bad, and I converted to using MHEG5 data.
Also, as the MHEG5 EPG is broadcast for all channels on each channel, it has to be collated and shared with all broadcasters. That seems to enforce a little more professionalism.
Mostly,
MHEG5 data more often includes both the program Title and Sub-title fields, which means that I can automatically find Season and Episode numbers, and therefore MC can automatically find lots more information about the program from
www.thetvdb.com. That is the major benefit of MHEG5 over EIT data. Not that it is perfect, and there have been some recent hiccups. But MHEG5 data is much better overall.