pdb как классический отладчик позволяет проследить поведение написанного кода, в то время как вызов python/ipython просто выкидывает консоль, в которой разработчик может написать любой код и посмотреть, как он будет выполняться. После выхода из консоли исполнение кода продолжется со следующей после IPShellEmbed()() строки как ни в чем не бывало.
Отладка в Python с помощью консоли