You are correct, for the most part. Even on a smaller team, if you have stronger and weaker programmers, the end result tends to be a functional product. However, I think it tends to create stress on the team, as the stronger programmers feel like they have to pick up the slack and be extra mindful for mistakes made by their counterparts.