This could be a few different things. The typical culprits are the battery and/or the starter.
Note: just because the radio and lights work does not mean the battery has enough power to start the engine.
Starting the engine is the sole most draining task the battery has. Many auto parts stores will test this for free if you just stop in. So, have the battery tested to be sure it is OK.
The starter, or the solenoid (on top of the starter), could be faulty. A replacement starter typically comes with a new solenoid. This can also be tested, but it has to be removed from the engine first if you are DIY. Otherwise, a mechanic can test it.
Then the less common things; it could be the starter relay, the ignition switch itself, or even a wiring problem. I wouldn't look at these items until you verify the battery and starter are working properly.