Breadth First Search (BFS) is an algorithm for exploring tree or graph structures, traversing nodes level by level and was invented in 1945 by Konrad Zuse. It has a time complexity of O(v + e) and a space complexity of O(|v|), making it suitable for applications such as GPS navigation and network broadcasting. BFS guarantees to find the shortest path and is optimal when all actions have the same cost, while also requiring significant memory to store connected vertices.