There are three factors to consider (RE model assumed):

1)

**The earth is ellipsoidal**, at the equator, an observer is further away from the centre of gravity than an observer at the poles, causing things to weigh less at the equator.

2)

**The earth rotates**. The centrifugal force at the equator is therefore greater than at the poles causing things to weigh less at the equator.

3)

**The earth is an imperfect shape of varying density**. It can be approximated by a perfect mathematical ellipsoid of uniform density. It is also a dynamic system, new islands are being created through geological processes, land is eroded by wind and tide and we have tides and tectonic shift. Consumer grade GPS devices work from a mathematical ellipsoid because it makes calculation (relatively) easy. Their typical accuracy of +/- a few metres means this is a good enough approximation for everyday use without the need for any further correction.

WGS84 for example uses a reference ellipsoid (a perfect mathematical shape), it also uses a geoid (EGM96), an irregular surface representing the earth's actual gravitational field, broadly speaking the shape the oceans would take if you took away all the land. It only differs from the reference ellipsoid by a relatively small amount (less than 100m anywhere on earth). The actual surface of the earth is different from both of these - Mount Everest for example.

If the earth were a perfect ellipsoid, then you could easily calculate gravity at any latitude, however it isn't so if you want high accuracy, you need to refer to the geoid in your calculations as well.

Just because the earth isn't a perfect shape doesn't make it flat.

(source image below - Wikipedia)