External standards come from an outside company whose main goal is to produce standards for use by any person at any place in the world. Any 'errors' they have in their standards will be seen by many people and they will make purchasers of those standards aware of any contamination. So while external standards can save people a LOT of time and provide more accurate/confident results, they are fairly expensive.
An Internal Standard is made by the people who are using the GC/MS machine themselves. The purity of the standard can vary on a day to day basis depending on who made the standard, what glassware they used, what bottle of chemicals they used, etc. etc. Also, the 'error' of said standard isn't really known. It's MUCH cheaper to use an internal standard, but the accuracy of your results can suffer.