WordPress has no built-in multilingual support. It might come eventually (it's been discussed for over a decade), but right now you need a plugin. Three options dominate the market.
WPML
The most complete option. 99 EUR per year for the CMS license, 199 EUR for Agency. Supports virtually everything: WooCommerce products, ACF fields, Elementor layouts, custom post types. Integration with professional translation services.
The downside is complexity. The admin interface can feel heavy, and on large sites (10,000+ posts) it can affect performance. We've seen WPML sites where the admin panel takes four seconds to load, just because of the translation module.
Polylang
Free base version that works surprisingly well. Simpler interface than WPML, lighter site. The Pro version (99 EUR per year) adds WooCommerce support and slug translation.
Works well for regular sites with pages and posts. But if you have complex ACF field groups or custom taxonomies, you might need more manual configuration.
TranslatePress
Completely different approach. You translate directly on the page in a visual editor, not in admin forms. Intuitive and fast for simpler sites. But for sites with thousands of pages, translating page by page becomes impractical.
Our recommendation
E-commerce: WPML (best WooCommerce integration). Simpler site on a budget: Polylang. Client translating themselves without technical knowledge: TranslatePress.
And a general tip: plan for multilingual from project start. Adding it later to an established site always costs more time than you think.