Babbel is my favorite app to learn a foreign language (French, in my case) and I use their website and iOS app for learning.
While I started out with Duolingo (which, contrary to Babbel, is free), in my experience Duolingo will become pretty repetitive quite soon and you will reach the end of their learning ladder without really speaking the language all that well. Babbel includes a ton of content for learning French, which starts with the basics but moves on to very advanced vocabulary – I’m still not all the way through it! I also prefer that they actually have human-made dialogues (some of them are actually quite nice mini-stories) and actually explain the grammar to you (not only by trail-and-error translation exercises but by actually explaining the concepts behind it).
Thanks to Babbel, I feel far more confident speaking French these days. I would argue that none of these apps can replace human interaction, especially to train your speaking skills, so you might still want to invest in a French teacher, but they are a good way to get started and for low-friction learning when you’re waiting for a bus etc.
What I would prefer is for Babbel to include more gamification like Duolingo does - you can argue that it is a bit sad to need such artificial encouragement to stay on it, but I will admit that Duolingo’s “streaks” and points really do motivated me to keep going, while Babbel requires more self-discipline. If they would include these features, they would get five stars from me.