When creating a website, is more common best practice to implement front-end libraries like Bootstrap or do people still write vanilla HTML/CSS?
Yours is not a question of best practice. Yours is question is about tooling and it’s a preference.
Foundation and Bootstrap: the names of these frameworks have a meaning of the beginning of something. A Baseline of styling and components to present clients with early iterations of their website. It’s not a finished themed site. They can help you start fast but if you go against their styling norm they can slow you down in the end. Layout without HTML tables was a big factor in driving the popularity of frameworks like these. Now that Flexbox is widely implemented I don’t even want to use a twelve column grid anymore. So that leaves the styled components when they might be worth it.
As an example of violating a best practice is Google’s Material. One has to guess the meaning of their icons instead of a labelled icon or a text label. Regardless of what the lower right-hand icon is I’ve come to just assume it means “one more” or a “make a new one”. How does a paper airplane signify e-mail? I would prefer a clickable label.
It depends. You have to do a cost/benefit analysis when you choose to bring in a library. What does it gain you? How much “bloat” does it add to your project? Would implementing the same feature yourself be clean and reduce dependencies, or would it just add complexity that you have to maintain? There’s no one-size-fits-all answer.