iPython notebooks are great for some cases. I use them because of:
- Easy in-place editing and immediate execution, very friendly for quick and experimental stuff
- In-place visualization. Also, ability to have multiple figures on the same page, compare them, re-run figures, move the cells. Much more convenient than multiple and independent OpenCV's imshow windows.
- They are more convenient for step-by-step iterative analysis
- Since they are collection of code blocks prepended with a description and followed with the results, they are great for tutorials and guides.
You can compare the notebooks to test stands, where you can quickly assemble something working to demonstrate to the others, while Python modules are more like building blocks to be used either for demonstration or for production later. Thus, combination of both is very powerful.