I am a beginner myself; so correct me where I am wrong. This post and its followups are based on what I have understood reading articles and watching videos on the net.
Lighting has more impact on an image than any other aspect of photography.
To bring the life in the picture; we need to create the illusion of depth in the 2D medium and its get created through shadows. For portrait; the nose shadow has the most attention. The main light is used to “create” these shadows. Helping lights are used to lit the background; fill in and to soften the shadows.
The reason why on-camera flashgun doesn’t give good result is that on straight ahead face; it produces lighting on the front of the face without creating proper shadows and generally people don’t have narrow and symmetrical faces to look nice in such lighting / situation. If you turn the face of subject slightly things become better but built-in flashguns are hard lights and this generates much dark shadows. Using proper flashgun; the light size increases slightly and moving it off-the-camera you get a directional light and you can generate proper shadows. Bouncing the flashgun light as @lakhum pointed out softens its light and gives much better result.