In a class, there is very little time to practice speaking, because a lot of time is spent on instruction and the class may have too many students to give everyone enough meaningful practice. That means you are not used to listening to native speakers and may not be able to understand them. You're probably not learning the informal expressions and slang that native speakers use all the time. On the other hand, a complete immersion can be ineffective because people don't know how to help you learn - they may speak too fast or use slang you don't understand. Also they may not be patient and just switch to your native language if they speak it, not giving you a chance to practice.
Immersion can also be scary.
The people in the place of your immersion may speak with a very different accent than the one you learned from your teacher. In a language exchange, however, you practice more than you would in a class, talking with native speakers of the language you're learning, in a relaxed and supportive environment where there is patience and time to understand. To the questions list 3. I am learning a second language for business. Having a strong business relationship is priceless.