As in many of these things, it depends on what you want to do.
I have almost the same background as int2str (software engineer by trade, some hardware education and lots of hobby level hardware tinkering). As some might recognize from my forum handle, I'm a ham radio operator (AG6QR is my call sign).
I find that some sort of function generator or at least some sort of variable oscillator is virtually essential for tinkering. You may not need a professional instrument, though. You can lash up your own oscillator using a Wien Bridge for sine, or using a 555 for square; there are other options for specific types of home brew oscillators. But a purpose-built function generator makes things easier.
I have used an antenna analyzer as a function generator. An antenna analyzer is a specialized device for radio use, which generates a low power sine wave at a radio frequency, and then measures the response of an antenna system. It's not a great general purpose function generator (sine only, voltage not adjustable), but it's a very useful instrument for any ham radio operator, and the fact that you can find other uses for its radio frequency oscillator is a free bonus.
I've got an Elenco FG-500K, a very inexpensive kit based off the XR2206 IC. It works, and there's lots of information about it on the web. It's not a great piece of gear -- its output has a significant DC offset that isn't adjustable, its sine output has significant distortion, and the output impedance is closer to 600 ohms than 50 ohms. It can oscillate as fast as 1MHz, but its amplitude isn't well-controlled --it drops considerably near the higher frequency range. Its going price of around $30 to $40 makes it hard to complain about its deficiencies, but I consider it more of a toy than an instrument. It's a step more convenient than building your own homebrew oscillator from junk box parts.
I also have an GW Instek SFG-1003. This is a nice DDS generator, basic and not high end, but it offers very stable crystal-controlled frequency output, controlled 50 ohm impedance, variable duty cycle square waves, adjustable duty cycle, adjustable DC offset, adjustable voltage, etc. Up to 3MHz output for sine and square, 1MHz for triangle. No modulation, but I've tacked on a simple homebrew AM modulator which does that trick. This is a genuinely useful instrument, but it still lacks sweep or FM modulation, and its frequency range isn't as good as other options. Its going price is around $150.