Given a beginWord, an endWord, and a dictionary (wordList) of unique same-length lowercase words, determine whether there exists a transformation sequence from beginWord to endWord such that each step changes exactly 1 or 2 characters (substitutions only; no insertions or deletions) and every intermediate word is in the dictionary. If such a path exists, return one shortest path as a list of words; otherwise return an empty list. Implement an efficient solution, justify BFS vs. DFS choices, analyze time/space complexity, and discuss optimizations for large dictionaries and handling cases where beginWord is not in the dictionary.