printf prints (writes) to stdout, the standard output (which is usually a terminal window, and often hidden in Windows GUI programs). sprintf "prints" to a null-terminated char array (a C string) so you use that when you need to format something but don't want it ending up directly on the terminal - say you want to save it in some text file. It has nothing to do with the return value.
char title; sprintf(title, "%s", g_engine->getAppTitle().c_str());
Translation: allocate a 255-character C string (which can then contain 254 characters + the null character), and write "%s" into it, using arguments g_engine->getAppTitle().c_str()). So this will just copy the application title (?) into "title". Not a very educational use of sprintf, but you get the idea, you can make it more complicated:
int a = 4; int b = 7; int c = a + b; char foo; sprintf(foo, "%d + %d = %d", a, b, c); // foo now contains "4 + 7 = 11"
Yeah, this isn't exactly Python but that's how general-purpose string formatting works in C. Since you're using C++, you might want to prefer C++ alternatives (such as stringstreams and the << operator).