Well, with Fink, it's not very difficult. Fink automates installing from source, so you don't have to edit the config files and stuff like that to get it specifically set up for you. it's actually easier than using dselect or apt-get to install from the binaIries. Though, it's much slower. It can take hours depending on how big the thing is you're installing.
Anyway, type 'fink list' to see a list of source-available software. Check the package in question and type 'fink description <package>', that'll give you a brief description of the package, usually it relates to what the package is, and how you need to configure it once it's installed. Then type 'fink install <package>', there will probably be some dependencies to install, and agree to install those.
After that, it's installed. And to remove or update a package type 'fink remove <package>' and 'fink update <package>'. To use a new windowmanager though you'll have to edit your .xinitrc file that's in your home directory. If you have a .xinitrc already, you probably want to back it up ('mv .xinitrc .xinitrc.old' or something) in case you don't like Windowmaker. I think Windowmaker has a script you can run to make a .xinitrc. But usually, just put exec <windowmanager> in your .xinitrc and that should work (won't with some of them though as they need other things started up).