I think geoshow is plotting the data you're giving it, but you're only plotting the very last values in your lat,lon dataset. One of two things might be happening:
1. lat(end) and lon(end) are NaN. It's not uncommon for the last entries in georeferenced datasets to be NaN. Or,
2. The marker is tiny. Here's an example. Try this:
figure
geoshow(30,70)
If you look REALLY close there's a tiny dot at (30,70). You can make it bigger, like this:
geoshow(30,70,'displaytype','point','markersize',40)
Or you can make a line like this:
geoshow([30 35],[70 75])