In complement to Andy's list of criteria, I'll add that most of the time, one of the usual suspects will do just fine.
- MCP6002 is a good one. Dirt cheap (bag of 10 is 3€). It's your crummy CMOS opamp. It is slow so it won't oscillate on your breadboard, has Rail to Rail In/Out, the input common mode even extends a little bit beyond the rails. Low power too. Performance is nothing to write home about of course, but it is good enough for many uses.
Microchip makes opamps? Well, yeah. They have a whole line of CMOS opamps which do absolutely nothing spectacular besides being cheap, RRIO, low-power, low-voltage. These work on 3.3V and 5V so a good match for Arduino, Pi, etc. If you want faster, try MCP6292 (10MHz).
Good thing with these cheap crummy CMOS opamps is they work well on battery voltages, and they don't have the LM358 gotchas, like the input common mode going to GND but not VCC, or the output being "kinda able to go to 0V but only if it never has to sink any current" and the like.
Yeah, there are other $0.50 RRIO opamps which would fit the bill. Do I want to spend 2 hours selecting a 50c opamp for a hobby project when I know this one will work? Probably not...
Also, cost. For amateur, hobby stuff, you gonna spend hours laying out that board, so when performance is needed, it's not worth it to skimp on the parts! Get a $3 opamp if it saves you a headache, it's well invested...
For example, if you want to filter and buffer a DAC or a PWM from an arduino and get a 0-5V output, there's no excuse for using an opamp which needs a negative supply voltage when you got 30c RRIO opamps which will do the job with only a 5V supply!
Audio, for example: if you need cheap, NE5532. If you need high quality, OPA1642, OPA1652, LME49720 and others in the same families are very good.