Never fear to ask questions, that's what a forum is for.
You should stick with a routine for so long as it's giving you results, not a moment more or less. Typically routines are changed every several weeks in gyms because trainers fear that gym members will get bored and give up. This is a justified fear - not many people have the willpower to stick to the same 3-6 exercises for months on end.
The session time is not the key issue, but the work done. Let's say you can bench press 100kg for a single rep, you could spend 60 minutes in the gym doing BP 20kg x5, 40kg x5, 60kg x5, 80kg 3x5, and the rest of the time talking to your buddy about the hot chicks on the treadmills and thinking about Arnold talking about how der pump iz beddah dan der cummink, and this would not really leave you terribly exhausted. Or you could do the same workout in 15 minutes and you would be wasted.
The key thing is intensity, not time. You only have so much work in you. This work capacity depends on rest and nutrition. National weightlifting teams might spend 6 hours a day 6 days a week working out, but they also eat 10,000+kcal, have afternoon naps, ice baths and hot saunas, sports massages, and on-staff physiotherapists. They do a heap to help their recovery, great rest and nutrition.
On the other hand the typical gym-goer who goes to bed after midnight, sleeps for 4-6 hours, misses breakfast and eats pizza or greasy Chinese for dinner, this person is going to struggle just to do 3-4 half-hour sessions a week. Poor nutrition and recovery, poor work capacity.
You can work harder, you just have to eat and rest harder, too.
If you are using supersets etc to "save time" but are still having 2.5-3hr workouts, I would suggest that your list of exercises must be very long. I am guessing that you have six different ways to hit your pecs and biceps. For a medium-sized guy, until you can put a single 45lb plate a side overhead, bench and row 2, squat 3 and deadlift 4, there is usually no need for all those different exercises. If you keep it simple you will keep it shorter without the need for supersets.