The short answer: They build and maintain websites.
But what exactly that looks like varies widely depending on the type of job the developer works at. The good part is that web developers are in high demand and so, though they work very hard, they're generally able to command comfortable salaries and healthy work/life balances. It's a profession that rewards people who are natural problem solvers and who enjoy building things.
A more detailed explanation, from degreedictionary:
Web Developer Job Duties
Your job as a Web developer is to present your clients' products and services to a wide audience by creating attractive, functional websites. You will likely be asked to identify potential site users and design a website to appeal to these constituents. Your work may include meeting with clients to discuss their desires for a website or discuss how to keep their website functioning and up to date. You might construct the layout of a website, creating a visually interesting home page and user-friendly design. You may also write the content for the website.
After a website is up and running, you'll make sure that the site is functional on all Web browsers, periodically testing and updating it as needed. A client may also need you to include interactive capabilities on their site using Visual Basic or Java programming languages.
Where You Work
Web developers may work for large corporations, small companies or as freelancers. Most positions will have you working 40 hours a week, while others - especially freelance positions - enjoy flexible schedules. Occasionally, you may be required to work during the weekend or other non-standard business hours in order to perform website maintenance or in the case of an emergency.
You need to have a familiarity with technology and understand how computers and web servers operate. You will also need to be familiar with many software programs, Web applications and Web programming languages, such as hypertext markup language (HTML), Ruby on Rails and C++. Since this is a very client-based, project-oriented field, you must be able to communicate effectively, set goals and meet deadlines. You must also be creative and have a grasp of art and design principles.
"Front End" typically refers to the stuff that you actually see on the website in the browser. This covers how the content is presented including all the little user interface elements like menus and dropdowns and transitions and modals.
"Back End" typically refers to the guts of the application which live on the server. The back end is more focused on making sure all the right data gets sent out to the browser. It's the portion of iceberg below the surface... lots of stuff needs to go correctly to hand off data to the front end so it can be displayed.
Google may be a relatively straightforward search engine from our point of view, but they employ an army of engineers to make sure that all the moving parts you don't see are working properly.
"Full Stack" developers marry the two sides into one. While each "end" involves learning a significant amount of information, a full stack developer can comfortably speak both database and browser. These days the trend is to seek developers with a great working knowledge of both ends (which is what we're teaching here).
So, if we've got back end developers and front end developers, who makes the website actually look pretty? Who pulls together the images and logos and color schemes? That's the web designer's job. While they have historically been less inclined to handle the actual coding of the page, these days even designers are expected to roll up their sleeves and code a bit. Some of the best web developers come from design backgrounds.
Not everyone can agree what differentiates the two, but generally web sites are more about displaying static (unchanging) content and web applications require a "smart" server running code (that you're going to learn to write) to produce dynamic content.
For a more concrete example, think of going to a regular web site as just opening a document (say, an e-book) from your hard drive. Your computer will locate it, open it, and display it for you.
Going to a site run by a web application is the same principle but the e-book is no longer just sitting there waiting to be opened. Your request for the e-book is caught by a sneaky little application which checks what you're asking for and then dynamically generates your e-book for you, fully customized (okay, maybe it just has an extra line that says "this e-book was opened on" and then today's date).
That's more or less the difference between a server just serving up a static HTML file and dynamically generating one by using a bit of Ruby on Rails code.
From the creators of The Odin Project...