Is it better to start a Drupal theme from scratch or extend an existing one?
I've done both many, many times and my experience has led me to say: I would start a theme from scratch every time. 

Most of the starter/base themes for Drupal contain massive amounts of superflous HTML code (because they have to allow for every possible eventuality) which introduces more DOM complexity than there ever needs to be in a page. This is bad for your page load time, which in turn is bad for SEO. It's also bad for code readability and Javascript performance on the client side.

The other thing is that (rightly or wrongly) you won't always agree with the decisions the developer(s) of the theme have made with their HTML/CSS/JS and it can be very time consuming to fix an existing theme to conform to your own standards.

Why not create your own base theme? It would be a good exercise to learn how to do it and you'll be 100% sure that the code is as streamlined as you want it to be. From then on you can just use your own base theme each time you want to create a new one.

The link to the theming guide in alastair's answer would be the perfect place to start.