Thanks for the reply. It's funny that you mentioned the stuff you did because the sites I have up and running were themes / templates that I gathered from the web and nothing that I created from the ground up. I'm really not that creative minded so starting from scratch might not be my cup of tea, but I would like to learn a lot more so I can spot those errors and prevent them from affecting future projects. I'm currently working toward a second Bachelor's Degree in IT (my first is in Business Administration). I originally chose a concentration in information management but just switched to a concentration in Web Development. The only class I've had thus far was an entry level html class so I'm really anxious to get into the core classes and expand my knowledge!
From now on, if you start with a template, only choose one that is responsive, no exceptions. Your current sites don't work well on devices other than desktop.
There is a big difference between a web developer and web designer so don't confuse the two. It's not a matter of semantics either. As a developer you are interested in performance, security, building the proper infrastructure so that the site can scale, etc. Designers make it pretty. UX is both design and development. So on a professional level, if a designer created a website in PhotoShop, you as the developer would have to make it function properly.
The learning curve is steeper than many professions because the speed at which the technology moves is much faster than most other fields. Whatever you learn in school will be vintage information when you finish. Build stuff from scratch in php, asp, html5, js and css. Learn what api's are and how to use them. Create a LAMP stack and learn MySQL. Figure out how to populate a database, read from it, then secure it from hackers. Take one of the sites, perhaps your own, and recreate it completely using Drupal and/or Ruby on Rails.
You'll learn faster if you build sites yourself. You won't learn anything just copying other people's code, changing the look of it, and reselling it.
Freelance web design and development is a tough business because everyone thinks they can do it. Customers with the least amount of money will give you the most amount of grief.
To use a bass analogy, forget gigging for now. You need to get in the shed and invest in yourself dramatically broadening your skillset.
Having said all of that, the web development field is currently a very crowded place with many people out of work that can code websites from scratch in their sleep. If I had to start all over and learn something new today that combined IT with design, it wouldn't be web development, it would be CAD and 3D printing. In other words, "don't skate to where the puck is, skate to where it is going to be." Wayne Gretsky
Food for thought.