A while ago I picked up a pre-owned (but unplayed) semi-hollowbody and it had the worst factory fret job I've ever seen - high and low spots everywhere. I got it for a real good price and liked it otherwise so I decided to keep it and do a level & crown the frets. This is the same procedure that's done to repair a guitar with grooves in the frets and/or flat fret tops from bending (both of which affect intonation). Usual cost is around $100-$150. It can typically be done once or twice before fret replacement is necessary. Original fret height and personal preference play into it.
This won't really be enough to teach the whole process but it'll be a good primer and if nothing else you'll be able to discuss this procedure well with a luthier or repair person if you ever have it done. The following work is called a "level and crown". I'll level the frets so they're all the same height then use a fret crowning file to make the tops round again. This procedure is identical for acoustics and electrics.
The first step was examining the fretboard by playing every note. It seemed that the 6th, 11th, & 19th frets were high and a general uneven-ness all over but it turned out that the 5th, 10th & 18th were actually low. That makes it worse. Rather than lowering a few high ones (and evening it all out) I had to lower almost all of them to the height of the few low ones. Lot of work. Okay, here we go....
Here's the guitar before - Washburn HB-30
First I removed the strings, bridge, tailpiece and studs, then lowered the pickups out of the way.
Using an 18", bevel edged straightedge as a guide I adjusted the truss rod so the neck was perfectly straight without strings on it.
Next I covered the fretboard with masking tape to protect the wood, then colored the fret tops with a black permanent marker.
This is the fret leveler I made in the shop. It's a piece of precision machined aluminum bar with adhesive 220 grit sandpaper on both sides. It has to be perfectly flat so all the frets come out at exactly the same height.
I first made a light pass with the leveler along the frets to see exactly which frets were high and low. It's kind of hard to see in this picture but the low spots are where there is still black on the frets and the shiny parts are high. The first fret is completely shiny because it was a mile high. The second fret is low in the middle and the third is high on the treble string side, etc..........This is really pretty crappy.
On frets 14 - 19 you can see a lot of uneven-ness. It's not consistent with string wear, just a bad fret job. A LOT of leveling was required to get everything even.
Here's another shot showing some progress. I kept going until all the frets were the same height as the lowest spot on the lowest fret (which happened to be the 5th in this case).