These were called Practice games before, but they changed it. I guess because most of the players didn't use it for practice. They are generally games that have a host who starts the game. As a host you can kick players, add bots, change player count, map type etc.
1) You can make both.
2) Yes, you can play any champion you own.
3) You get XP and IP, but there are certain rules. For example you get less IP if the game is unbalanced (like 5 human players vs 1 bot).
4) If you add bots, they will be controlled by bots, but it's up to the custom game's host how many bots or human players he allows for the game.