In the Garmin units it is based on the automatic waypoint sequencing parameters (which are user definable) and angle of interception.
The unit will automatically advance to the next waypoint when you either pass over the previous, or pass with xMiles of it and then are heading direct towards the new one or are on an intercept. In the GNS430 manual and the 296 manual is a section on how this occurs.