Drones is a commonly used terms for Unmanned Aerial Vehicles (UAVs) also named Unmanned Aerial Systems (UASs). The name drone comes from the first UAVs prototype which was making a humming noise like the drone (male bee).
The terms UAV or UAS are clearer, they define unmanned systems, meaning that there is no human operator inside the system.
So how is it flying ?
Well as you pointed out there are two solutions:
1. remote piloting (a human operator flies the system remotely)
2. autonomous piloting (a computer flies the system on-board or remotely)
As you pointed out remote piloting relies on radio transmission.
The autonomous piloting, do not necessarily relies on GPS, other sensors might be available to provide enough information for autonomous flight (cameras, laser sensor, ...).
Of course the possibility to have a system allowing both remote piloting and autonomous flight is possible, and advisable for testing the autonomous algorithms. There can also be so kind of complementarity for example for position control, when the low-level control (i.e. attitude and position stabilization) is done autonomously while high-level way-points are define by remote operator.