There are four main ways to associate styles with HTML: embedded CSS using the <style> tag, inline CSS using the style attribute, external CSS using the <link> tag to link to a .css file, and imported CSS using the @import rule. Embedded CSS defines rules within <style> tags in the document head, inline CSS defines rules for a specific element, external CSS defines rules in a separate .css file, and imported CSS imports an external stylesheet. Styles have an order of precedence, with inline styles overriding embedded and external styles, and embedded overriding external.