Paint.NET and Photoshop are super powerful tools for photo editing, partly because there is a seemingly limitless supply of effects that you can use on your pictures. Most of the basic effects are built into the software so you can play with blurring, sharpening or adding lighting effects to any image. But for some of the more specialized effect you might need to find and download the effect as a plugin to your photo editing software.
You can grab Pain.NET plugins here as either a package or individually. Once you've downloaded the plugin you need to install it into Paint.NET (hey, here's a handy tutorial). The simple explanation is that you will extract the contents of the ZIP file to the Extensions folder of your Paint.NET directory.
Photoshop, as a paid program, has a bit more polish to its plugin process. But with that you'll pay for most of the plugins, anywhere from a few bucks to hundreds of dollars. You can browse through the available options at the Adobe Marketplace.
In my experience, Paint.NET needs to have several plugins installed before it has all the features of the stock version of Photoshop, and some of the features of Photoshop may not be available at this point in Paint.NET. However the open source nature of Paint.NET means that developers all over the world are crafting plugins that you can add to your experience for zero monies, versus having to pay for everything in Photoshop.
What's your preference?