Bundle name – is folder name, where your app (including executable file and all resources) will be stored (Cool Program.app).
Executable name – is a program binary name, i.e. Cool Program.app/CoolProgram
Bundle display name – is what will be shown on iPhone screen, for example Cool Prog (since Cool Program probably will not fit on Springboard).
And, Apple claims, that Bundle Display name must correspond to Bundle name, i.e. you cannot use bundle name TheApplication, and bundle display name Something Other