Breeding is mostly for getting the perfect Pokemon. It's far from necessary for normal playthrough, but if you want to battle other people who are even semi-serious it's borderline required. You can fine-tune natures (which affect stats) and abilities with a bit of work, and with the Masuda Method (breeding two Pokemon from different regions of the real world) you can get shiny Pokemon relatively easier. Ditto breeding doesn't have any downsides as far as I know.
Here's a breeding guide, it's not updated for this generation though. It's kind of a lot to take in all at once, but here are some basic things to get you started:
- Natures raise one stat a little and lower another, getting the right one is the primary goal of breeding.
- Giving either parent an Everstone will make the children have that Pokemon's nature.
- The Pokeball the mother is caught in will be passed down to the child.
- Having a Pokemon with the ability Flame Body in your party (e.g. Fletchling or Volcarona) halves the number of steps you have to take before an Egg hatches.