Yes, I wouldn't recommend My Maps for a large robust system, but it's a free entry level DIY option with no need for a developer.
A custom system could be built on Google Maps API, Mapbox API or probably even OpenStreetmap with Leaflet JS, but I've not explored OpenStreetmap.
So the way Google Maps works is that to add a marker to the map, you need the Lat Long of place.
To get the Lat Long you need to GeoEncode the address.
To do this you use the GeoEncoding API to take in an address, and Google Returns a Lat Long, which can then be stored locally in the database.
Then when the map loads it can read all the marker lat longs locally and plot the markers on the map and you're only paying for the map load and not the geocoding.