Custom POIs are typically locations/files that you create yourself and/or download from a POI site.
Take a look at POI Factory and GPS Passion.
Favorites are stored on the unit itself and the number that a particular unit can store is set within the firmware. The limit can range from 200 to 500 to 1000 to 2000 for some units.
Custom POIs can be stored on the unit but are typically stored on an SD card. The only limit then would be the capacity of the card. The Custom POIs don't typically take up much space, so the number is virtually limitless.
Different units handle Custom POIs differently, however, on my Zumo, the Custom POIs show up when I am zoomed in to 0.3 miles or closer. The Favorites (limited to 500) show up when I am zoomed to 5 miles or closer. And the built in POIs show up when I am zoomed in to 300 feet or closer.
You can edit some of the information (typically name and map symbol and sometimes phone number) of a Favorite directly on the unit. You have to edit the information for Custom POIs on your computer, and then reload them to the unit.
You can set Proximity and Speed alerts for Custom POIs when you load them allowing you to be notified when you are near a location of interest to you. Or to be notified when you are going faster than a particular speed such as in school zones or known speed traps.
Also, you can create Custom Icons for the Custom POIs with simple BMP files. With Favorites, you are limited to the built in icons/symbols for most units. Some units will support creation of custom icons in MapSource.
And, you can create Custom Voice Alert sounds for your Custom POIs if your unit has an MP3 player. For example, you can create an MP3 that will play the sound you want instead of the default ding of the unit.