Ana, learning web development is not that difficult if you really want to learn it.
Mastering web development is a completely different story. I consider myself pretty good in web development. I have developed and designed over 300 sites for customers, most of them CMS systems, that were written for the customer. But I do not consider that I have mastered the web development languages. I am always learning new techniques and principles. It is a constantly growing process.
As I learn new techniques to make things a little better in the development it usually opens a door to a new technology that requires some additional learning. I consider it fun and challenging.
I would always opt to learn the technology and do it myself. But that is just me and many people would rather just take a system like WordPress or Joomla or one of the other boxed platforms and use those to build their sites. The beauty with learning programming is there is no definitive "Right Way" everyone does things a little differently. There are good ways, and then better ways.
As an example. In one of my college classes that I teach I give the students a problem to solve. A simple programming problem.
1. Load a database with a group of captured values, from a form.
2. Clean the data making sure it is safe to enter the database.
3. Enter the data into the database, know that a field from the form does not exist in the database.
4. Add the new field in the table.
5. Complete the data entry into the table.
6. Read the data from the database and populate a variety of reports that I list on the board.
Using programming this is a pretty simple program to write. It requires a new student about an hour to complete. I have on average about 20 students in each class and they have all gone through the same level of training to this point.
In all the years I have been teaching, about 10 years to this point, no 2 students have ever exactly programmed the same procedure. They normally get a good outcome but most if not all go about it differently, different sequences, different code structure, different verification process, etc.
The point is, we all think and process information differently. That is what makes programming so much fun. I learn stuff from my students everyday I teach. They look at programming challenges differently then I do, and this is great.
In programming we all learn from each other. Web development is a pattern of learning building blocks. We start with the scripting languages, HTML and CSS. We become proficient at those, then we move into PHP and MySQL and add those blocks, this adds dynamic capabilities to our sites, then we move into JavaScript and jQuery to add interactivity to pour applications and then we start building on all those blocks to add a higher level of competency with each.
There is a group of other technologies that we can add if we chose as we move forward. But those are the key building blocks to developing good websites.