How can I see Windows PCs on a Mac and vice versa on a home network? I have an iMac running El Capitan, an Intel NUC with Windows 10 and a Raspberry Pi running OpenELEC (for now, but I've also tried OSMC and Raspbmc). I have a simple WiFi network with no Windows domain or anything. 

The Mac and the Pi can see each other in their network browsers, but not the NUC. The NUC's Network only shows the NUC. All of them are in the same workgroup (WORKGROUP) and all of them can ping each other. On the Mac, I can use Finder's 'Connect to Server...' option to add smb://10.0.0.199/sharename (which is the IP of the NUC) to access a share alright, and I can open \\10.0.0.99 on the NUC to access the Mac alright too. But the Windows computer(s) don't show icons for the Macs in the 'Network Neighborhood' equivalent and the Mac and Linux (Pi) computers don't show the Windows PCs.

Configuring networks and sharing on Windows has always been a trial-and-error process for me. Just mess with various settings till something works and that's how I've even gotten these machines to ping or access each other.

What am I doing wrong? Is there a guide to setting up a non-domain network the proper way with mixed platforms?
You need to specifically enable Windows File Sharing on the Mac.
By default just checking 'File Sharing' will enable [I think, it's been a long time since I set up a raw machine] SMB &amp; AFP, but not specifically Windows.

System Prefs > Sharing > Options…  



If you need to specify a Workgroup, that's done from Network > Advanced… > WINS



One thing to be aware of is that if one of your non-Mac machines isn't set to be Master Browser, then the Mac can often force an election &amp; win, even if it wasn't supposed to.
Depending on which machine is most likely to be on at all times, you may need to force that to be the Local Master.

This is a good article on how to set it on multiple platforms - http://petestechblog.com/archives/847 - there's a bit much to précis here.