I normally follow the same structure in all my lessons. This gives students security and confidence, specially with students with special needs. This way, they always know what they are going to do and what I will expect them to do.
Revisions are important to help students construct their knowledge, but always ending the lesson with the same activity can be boring for the students. So, I like ending my classes sometimes with a song or sometimes with a vocabulary game. Presenting a poster about a topic can also be a good way to finish the class.
I think working through songs is worthy, but they should be adapted depending on the age of the students. With a 10-year-old group or up, I try to look for famous songs so that they keep motivated. With elder groups, I normally try to get specific grammar structures to work on.
Early finishers should always have extra activities. I think these exercises should be more relaxed and playful, such as a funny reading, vocabulary games, computer exercises. But as a teachers, we will find some students that don't finish class activities on time, so take care of that and let them also have this type of ludic activities anytime.