Marc, when you are developing a site it's good to turn debug mode on. This will ensure that errors are sent to the screen, exceptions reported, etc. This can be found in /site/config.php. By default, it is false. You'll want to change it to true:
$config->debug = true;
Obviously you don't want this enabled for production sites, so remember to change it back to false for live/production sites.
I don't see any problem with using var_dump, var_export, print_r, etc. so long as you are directing that output to where you can see it. Also avoid running these functions on PW objects as you may get into an infinite loop. Sometimes it can be difficult to track the output of these functions because PW performs a redirect after most POSTs. But if you use PW's built-in reporting functions, they will get queued between requests until they are output. Here are the relevant functions bellow. They will produce the messages that you see at the top of your screen in PW admin:
$this->message("status message");
$this->message("status message that only appears in debug mode", Notice::debug);
$this->error("error message");
$this->error("error message that only appears in debug mode", Notice::debug);
If you are outside of a Wire derived object, you can call upon any API var to handle the notice for you. For example:
wire('session')->message('status message');
wire('pages')->error('error message');
Note that these reporting functions above are for the admin (and related modules), and they don't do anything on the front-end of your site. How you choose to debug or report errors on the front-end is at your discretion. Personally, I keep debug mode on in development, and this puts PHP into E_ALL | E_STRICT error reporting mode... it reports everything possible. If I need to examine the value of something on the front-end, I'll do it the old fashioned way with just PHP. Though others may prefer to go further with their debugging tools.
If you want to keep your own error log, here's how (anywhere in PW):
$log = new FileLog($config->paths->logs . 'my-log.txt');
$log->save('whatever message you want');
You can direct it to store logs wherever you want, but I suggest using the PW logs dir as shown in the example above. This will make the log appear in /site/assets/logs/, and this directory is not web accessible for security.