An API is something that allows coders to interface with other things such as mods interfacing with minecraft. Forge is a minecraft modding API, bukkit is a serverside minecraft modding API. They both exist since each has its different uses, bukkit is meant for admin purposes to make servers easier to manage without the users installing any mods while forge is to modify gameplay. Java is the programming language minecraft, forge, bukkit, etc. are written in. You can't install both bukkit and forge at the same time since they both modify various files in the main minecraft file. I hope this made sense to you.