They generally exhibit a reluctance to strike unless extremely stressed or think you are food.
They are hardy - that means, they don't easily belly-up and die when their husbandry is less than perfect.
They are big (4 feet long average as an adult) but not giant.
They come in a myriad of colors.
2.) I wouldn't say buying a ball python from a big box pet store is a no-no. Generally, big box pet store snakes are captive hatched and are raised in a stressful environment. Therefore, they can be very finicky. But, if you know what you're looking for, there are good snakes in the pet stores too.
But, for newbies, you can't go wrong with getting the snake from a reputable ball python breeder. They usually sell only snakes that are well-adjusted, healthy, and eating.
3.) You can get one for $35 plus the cost of shipping.
4.) Yes it matters very much and 300 is waaaay too large. You can get a small plastic container if you buy a baby snake and get bigger containers as the snake grows until you go to the 30L tank size which is as big as you'll ever need.
5.) Real plants may carry fertilizers and pesticides that are harmful to your snake. Fake plants may have sharp wire that can hurt a snake. For any plant real or fake, the snake can crush it. So, as long as you know what to look for in plants - real or fake - it's okay to use it.