The answer that RedGrittyBrick gave is largely right, though wrong at the edges.
For example, there were no password / passphrase complexity requirements for early Bitcoin core wallets. So, it would be perfectly valid to assign the password "42" to your wallet. (I think this is still true in current versions of Bitcoin core).
It's practical to brute force a short password to a wallet.dat file pretty quickly. (By brute force, I mean try every possible combination of characters).
Testing every combination up to 4 characters on a mid-sized server with a couple of 3080 GPUs takes less than 10 minutes; 5 characters takes less than a day; 6 characters takes about 2 months, and the amount of time it takes skyrockets from there.
There are also other techniques that involve testing popular leaked passwords against wallets.
But, most legitimate crypto asset recovery companies will require that you have some idea of what your password could be. Otherwise, the risk increases that this isn't actually your wallet -- that it was stolen, forged, or otherwise purchased online.
You can find legitimate recovery companies. I won't mention them by name, but just make sure that they've been in business for a few years, that their founders are public about who they are, and that they've been profiled by reputable publications.