External storage is memory that is declared outside of any function body, including main(). Such variables can potentially be accessed from any part of the program. These are more often called global variables because they are globally accessible from within the file where they are declared.
One advantage of global variables is their ease of accessibility. However, this is also their disadvantage. When a variable can be accessed from anywhere, it becomes increasingly difficult as a program grows in size and complexity to know when that variable changed and what changed it. Global variables should be used sparingly and with great care.