In many blogs and forums you might encounter these words that stock rom and custom rom in view of Mobile OS e.g. Android. But for newcomers it is a confusion what does mean by these terms.
Actually the original OS that come with your mobile/tablet provided by respective manufacturers like Samsung, LG, Sony, Apple , HTC are called stock ROM by developers. You can not change the system files, basic features of these stock ROM because these are locked (read only). The ROMs those are provided by volunteers made by them selves are called custom ROMs . As android is a open source project and any one can build and modify this operating system. Some of the example of Custom ROM are Cyanogenmod, MIUI etc. You have to first root your mobile to gain access over system files after that you can install these custom ROMs over your mobile/tablet. These custom ROM has many tweaks and features that even your stock ROM doesn’t have.
Manufacturers are not provide warranty on Custom ROM or even rooted devices, so be sure that your warranty has expired to use these ROMs. You can visit XDA developers page to know about your device how to root or install custom ROM over it. Wiki page of XDA developers provide many features about your device that even your manufacturer not provide. For example you can over clock your device processor, reduce vsel value to long battery use, change many themes, can install higher version of android that your manufacturer not providing to you.