My biggest issue with notebooks is that we're throwing aways years of best practices. Notebooks often lead to untested code with poor structure, frequent use of global variables and readability issues. Even using it as debugger is limited since there's no way to step into functions.
but who builds whole applications in a notebook anyway? most software dev best practices are really out the window when what you are doing is data analysis, or explication, or putting together reports.
I have built several dashboards with nothing but jupyter notebooks + jupyter widgets [1] with the help of jupyter-dashboards [2]. Granted they were little more than api calls followed by visualizations.