It depends on the software you're using. One thing to consider is that when your GPS calculates distance and speed on the trip computer, it does not take elevation change into account. Some programs will post-process your data to allow for elevation change based upon the elevation data the software itself uses. Some will base those calculations upon the elevation data your GPS saves, assuming your GPS saves elevation data.
Depending on what software you use to view your GPS data, you will see different speed, distance, and elevation readings. Sometimes the discrepancy isn't too significant, but sometimes it can be. It depends on a number of factors:
GPS signal quality
accuracy (WAAS or not, satellite geometry, and a host of other factors)
barometric altimeter or GPS altimeter
if barometric, how often do you calibrate?
if barometric, was a weather system moving through during the course of your ride?
what is the resolution of the DEM data your software is using?
does the GPS or your software 'clean up' your GPS data by removing extra points and consolidating your route?
Any or all of these can be at play for any given occasion. All things considered, you should be impressed you get what you do get.
If, however, you want the absolute most accurate readings possible, use a wired cycle computer with the sensor placed closer to the outer edge of your wheel, and be absolutely meticulous (if not OCD) with calibrating it, carefully noting tire pressure, and making sure you weight the bike appropriately so the tire compresses as it rotates.