The frequency reading of a digital one is as good as the refrence of the counter build inside. And that is not always great but i can be super. On the other hand, a good analog meter ( an HP or so) can also be very accurate.
But there could be other things important like min en max voltage, frequency range, Ofsett voltage, THD, resolution in voltage and frequency setting, in/outputs ( like sync, trigger).
Linaerity of amplitude over freuency range, ristetime and fall time of pulses/square. Adjustable duty cycle, sweep output, stability ect.
If you want to build and learn, and something like -10 to +10 is enough; see the CA3041 ( or 3140 allway mix them up) datasheet or apponote.
This is a cheap opamp and they made a function generator with it that does square, sinewave en triangle ( witch is very easy with opamps)
I made a 10000 to 200000Hz squarewave with a comperator and 4013 devider ( 5V 50 % dutycycle for my esr meter)
A triangle and square for an active load, a sinewave and sawtooth for a signal generator and pectrum analyser, also opamps , a stepgenerator with a UJT and a low THD sinewave generator with a few more ( app note from LT about bridge measurements from Williams, a adjustable very low THD sinewave oscillator. All very easy to build, just combine them in a cabinet with some switching or use a separte bnc for each output. Best to make an output amplifier too.
To complex ? Buy an old Philips, HP, Tek or whatever. Cheaper an will perform better. Or use a DDS and do some programming.