When you and I transact and somebody else gets affected (in a good or bad way) without any compensation, externality arises. That is more or less the standard definition in almost all textbooks. That definition is dangerous. Because, come to think of it, almost every transaction therefore causes externality.
The second, and even worse, misunderstanding is that in the presence of externality, you should call for government intervention. This is a fallacy. Believe me, if you don’t like me smoking next to you, we can work it out by you pay me not to smoke, or I pay you to suffer. We don’t need the government to ‘internalize that externality’. But let’s do some simple arithmetic to make this argument clear.
Suppose A pollutes and B is harmed. If B would pay Rp XXX to avoid such harm, and if A would have to incur an additional cost of Rp YYY to eliminate the pollution, then if XXX is less than YYY, the government should do nothing.
So if instead XXX is greater than YYY, the government should do something, you say? It depends. If XXX is in fact greater than YYY, then B should have offered some money to A in the first place, so as the latter did not pollute, don’t you think? But why hasn’t B made a bargain with A? Because, that might have required some costly process (think about tiring negotiation or time costs or lawyer’s fee, for an example). In other words, there is a non-zero transaction cost, say Rp ZZZ. So, here, it must be the case that ZZZ > (XXX – YYY). Then what is the answer to the question ‘should the government do something?’ Well, remember, intervention can be costly, too. First, the government should calculate XXX. Next it should also discover YYY. Finally, it should administer the scheme (costly, too) – whatever it is. If the total cost of undertaking these three tasks is WWW, then only when WWW < (XXX – YYY), the government intervention is justified.
More on alternative solutions later.
Note: Of course I owe this argument to Coase (1960, The Problem of Social Cost, The Journal of Law and Economics)