It’s really easy to build a WordPress theme based on some other one. Nowadays you can use a thing called Child Themes which simplifies development a lot.

Let’s say you have a nice theme, such as a new default one, but you want to modify it a bit. Let’s say you just want to change some colors. And paddings.

You can do that by creating child theme, which can override things you want, but leave rest of the theme unchanged. That’s how current theme for this site was built.

All it took was to create a new directory in wp-content/themes/ and adding style.css inside:

/*
Theme Name: FLv2013
Theme URI: forgottenlabs.com
Author: Artur
Author URI:  http://artur.cc
Description: 
Version: 0.1
License: 
License URI: 
Tags:
Template: twentythirteen
*/

@import url("../twentythirteen/style.css");
.site-title { text-align: center; color: #444}
.site-title:hover { text-decoration: none !important; }
.site-description { text-align: center;}
#navbar { display: none; }
body { border-left: .5em solid #bc360a; }
.entry-title { font-size: 38px }
.newsletter-email { width: 100%; }

(important part was bolded, rest is optional).

If you won’t add @import url(old/path/goes/here) you’ll overwrite all style.css files.

You can do exactly the same for each *.php files, (except for functions.php which works on a bit different rules)