What is the difference between AOSP and AOKP? What is the difference between AOSP and AOKP? Are they related to Stock ROM?
AOSP (Android Open-Source Project) is the project with the open-source parts of Android. It's used as a base by anyone who wants to build or customize an Android ROM. Although new Android features are developed in secret inside Google, when a new Android version is released, all the code changes to the open-source parts get merged into AOSP soon afterwards. ("Soon" is a relative term: sometimes it's not very soon at all.) Conversely, Google receives and incorporates changes submitted to AOSP (such as to fix bugs) from outside, but sometimes with a delay (because they have to create a release branch of the source long before the next release).

AOSP doesn't include the closed-source components: mainly, that's hardware drivers, and Google's special apps that only ship with certified devices (Google Play, Google Now, etc).

AOKP is one particular custom-rom project. Like other custom ROMs, it's based on AOSP, but adds extra features. The maintainers also need to find (possibly closed-source) drivers for all the hardware on a device in order to support that device.

Generally, most people use the term stock ROM to mean the manufacturer's ROM that came with their device (possibly including any OTA updates). As t0mm13b points out, this ROM almost certainly wasn't built from AOSP: the source will be based on AOSP (or Google's internal sources, if the manufacturer is big enough to have access to them), but it will include any drivers for that device, as well as the manufacturer's customizations such as Samsung's TouchWiz or HTC's Sense.

If you're interested in the discussion of what exactly constitutes a "stock ROM", you might like to read the comments on this answer from last year. TL;DR: authors of custom ROMs don't all use the term to mean the same thing.