You are using a poorly-coded or unmaintained theme
There are thousands of themes available for WordPress (over 14,000 on the public WordPress depository alone). The majority of these are not well-maintained or were poorly coded in the first place. The quality of a theme can not always be determined until after you have built on it, at which point you might be stuck with a bad one.
Solution: First and most obviously, make sure the theme is currently being maintained. If you are using a free theme, test it out. Create some dummy content and see if there are any apparent issues. Alternately, if you use a paid theme make sure to read reviews and see if there are any issues with it or the author.
You did not resize images
Big images weigh down websites. WordPress handles images in an inconsistent way. It has a native method of resizing images (e.g. reducing a 4000 x 2000 image to a 150 x 150 thumbnail) but this must be specifically called by a theme, page builder, or similar tool. The result is that an otherwise light page might be 500kb larger because your theme (for example) does not resize feature images.
Solution: If you are using a really good theme, this might not be something you have to worry about. Tools like Jetpack Photon can handle image resizing for you. If all else fails, simply resize images before you upload them to WordPress.
You are using too many plugins
As a rule of thumb, you want to cap plugins at about 12. Any more than this and you face two problems: the plugins weigh down your site or they fight with each other and cause errors. Poorly coded or outdated plugins should be avoided entirely, as they are prone to incompatibility and security flaws.
Solution: Try to do as much as you can without plugins. If you want to minify scripts, for example, it is better to choose a theme that does this natively to avoid coding conflicts. Also, be sure that whatever plugins you are using were updated some time since the last major WordPress core update.
Your page editor is weighting your site down
WordPress is all about content, and visual page editors streamline content creation in simple way. However, convenience can come at the cost of reduced performance.
Solution: Choose a good editor. Avoid anything which inserts all custom CSS inline (a good editor should generate a separate CSS file for custom styling). Consider a modular editor such as SiteOrigin, which allows you to activate and deactivate features. Also, if you find that you are circumventing the natural functionality of your editor on a certain page, consider not using a editor for that page and instead use static HTML.
You do not actively maintain your site
This is the most obvious thing one can do to ensure a properly functioning site, but over half of WordPress administrators do not update themes, plugins, or WordPress core. Nor do they assess the site regularly for performance and / or errors.