Why is the cost of microcontroller lesser than microprocessor
Microprocessors are generally targeted at higher end systems (at any given point in technology) since they will be used with external memory and perhaps external peripherals. The pin count generally is higher (you need external memory buses), the internal complexity higher (since you'd generally want a fast CPU, hardware floating point, and relatively large fast cache memory to reduce the performance hit from relatively slow external memory). 

It's not a hard and fast thing- it's easy to find microcontrollers that are expensive and microprocessors that are cheaper. 

One example that fits the context of your current reading about the Intel MCS-51 series- an 8031 is a microprocessor. Add 4K bytes of mask-programmed memory to it and it's a microcontroller (the 8051). The 8031 was generally cheaper than the 8051, 8751, 87C51, 89C51 and similar parts for many years. In fact, 8051s with mistakes in the mask ROM could be sold as 8031s since the internal ROM was disabled by hardware when used as an 8031 (the EA line). 

So there is no inherent reason why one is more expensive than the other, just a different set of choices that manufacturers make in order to maximize their market share and profits.