Whether you outsource your marketing or learn the skills to do it in-house really depends on what your goals are, how much time you have to commit to marketing your business and, importantly, whether you want to do it yourself.
Some business owners want to have full control over all their business functions and are eager to accrue as many skills as possible. They may prefer to learn marketing skills even if they are not intending on doing day-to-day marketing themselves so that they know how it affects their business.
Other people simply don't have the resources, time or desire to market their business themselves. They would prefer to have a skilled marketer take the reins on these aspects of their business and work alongside them to deliver results for the business.