Kanban is a method/framework implementing agile process in software development. Kanban comes from TPS (Toyota Production System) and Lean. David Anderson was one of the first to take the Kanban method to IT and software development.
A bottleneck in process and software development is a part in a chain of process. A bottleneck is the part that reduce the process capacity and controls the flow in the system. A bottleneck isn’t always a problem, because all process have a internal or external bottleneck but you should know where it is.