While modern measurement devices are wonderful to help us estimate our training runs and bike rides, they aren't always accurate.
A GPS unit is not accurate enough for a course to be USATF-certified. Even the best commercially-available GPS unit is only accurate to about 12 feet at any given time, and can be hundreds of feet off in accuracy. Most units will show you what their current accuracy is, and you can watch it vary from 12 feet to 350 feet or more. GPS units must have a clear view of at least three satellites to get a reading, and the more they can acquire, the more accurate they are. However, trees, buildings, and even your body can interrupt the signal, making it less accurate at any time.
Further, they only check their position periodically, not constantly. Some units check every second, some every 20 seconds. The user can sometimes set the unit to check at certain time or distance intervals, but if the unit has lost contact with the satellites, it can't tell where it is, so it misses that checkpoint. So, if you are running quickly, you may make a few turns while the unit doesn't have contact, so that section will be measured incorrectly.