It’s not impossible… you could hide our default header with CSS and add yours in a theme (note you’d have to duplicate your nav, you can’t directly pull in your website’s code)… but you’d either be throwing out a lot of the default functionality, or recreating it. Notifications are a big one.
We’ve found that it’s better in the long-run to add content (using the theme api) and style the Discourse header to match an existing website as closely as possible, rather than try to replace the whole header from scratch.