`bitcoind` must be different from `bitcoin -server` because one gives an error message the other doesnt Although the API reference implies that running bitcoin -server is the same as running bitcoind, I get no error message when running bitcoin -server with no bitcoin.conf file but I get teh following error message when invoking bitcoind -


  C:\Program Files (x86)\Bitcoin\daemon>bitcoind.exe Warning: To use
  bitcoind, you must set rpcpassword= in the configuration
  file: C:\Users\thequietcenter\AppData\Roaming\Bitcoin\bitcoin.conf If
  the file does not exist, create it with owner-readable-only file
  permissions.
  
  C:\Program Files (x86)\Bitcoin\daemon>
They're not exactly the same -- they're two different programs. The bitcoind program is a pure server (or pure RPC client), it contains no GUI at all. The bitcoin program contains a GUI and can also run in server mode. So being unable to operate as a server is fatal to the server-only version, because there's nothing else it can do.

When you ask the GUI client to run in server mode, it interprets this as an additional request. If it is not configured properly to run in server mode, it will still start up and run the GUI. So for bitcoind, an improperly configured server mode is fatal -- what else could it do? For bitcoin, an improperly configured server mode just makes server mode not work; it will still run as a GUI client.