In the pList file, there is a bundle ID of the form com.mycompany.myapp, but Apple also provides an app ID on the developer portal.
Thus, basically, what is the use
Bundle ID is the identifier of an App, but App ID is not. App ID is the connection between App and provisioning profile.
From "About Bundle IDs" section in here, you can see, "A bundle ID precisely identifies a single app".
And from here, you can see, "An app ID’s primary use is as part of a provisioning profile; it specifies which apps are authorized by the profile to be signed and launched.".
App ID has 2 parts: "bundle seed ID" and "bundle ID search string". Bundle seed ID makes Apps share keychain data, that is to say, it's the key chain entry of Apps which have the same bundle seed ID. Bundle ID search string defines how many Apps are covered by this App ID. If you use a Wildcard App ID, that means many Apps will be authorized by the provisioning profile associated with this App ID. For more details please refer to here.