How fast a Ring Group can answer is a business logic decision. In FreePBX a ring group has a max ring time of 300 seconds. However, that is a limitation put on by FreePBX as all a Ring Group does is issue a Dial() command. That command could have one or more endpoints being dialled at the same time and much like any other Dial() command if no timeout is set the default is 136 years. A ring group does not hold the caller, it just dials the destinations as it is programmed to do. If none of the destinations answer, the call is routed to a post destination.
A queue on the other hand will hold the call for as long as told before even sending it to an agent. During that time the caller will hear hold music and could be given options to leave the queue. Much like a ring group, the queue will call the agents based on the strategy and how long the timeout is set for when calling agents. If none of the agents answer the call is pulled back into the queue. Now at that point the call can be held longer and the agents retried or the queue could kick the caller out and route it to a post destination.
I can program my queue to act just like a normal ring group but I can’t program my ring group to act like a queue.