Building a computer is actually easier than one may think
The motherboard should have the same exact socket that the processor uses. The one part that most everything else will be centered around is the CPU, and as such it ought to be decided on first. AM3+ specifically will fit a certain variety of processor, and another socket would not work. Similarly, the RAM must match, but it is a little more obvious when buying. DDR3 RAM will only fit into a motherboard with DDR3 slots, but this is extremely common nowadays and one would be hard pressed to build an up to date system with anything different.
In order to avoid any performance or driver issues, it is an excellent idea to use all SATA hard drives and disc drives. Even though SATA is backwards compatible when it comes to speeds, it is excellent to get a drive and a motherboard that support the latest 6.0 variant of the SATA technology. This only affects the DVD drive and hard drives, but the speed is mostly important for the hard drive as it matters the most for system performance.
The power supply will usually have the right connections for any situation, but in specialized computer builds, there are more of certain plugs needed. Computers with several graphics cards will require the same quantity of graphics card power plugs in order to run correctly. Even though many of these setups can be rigged to split connections off of one another, they will usually not supply enough power to keep everything running healthily.
Few setups will need more than a standard network card, but some will need custom cards to be set up correctly. However, if one is building a small cloud setup or server room with a very high speed Internet connection, they may wish to upgrade. Standard systems can still get PCI-E cards that support Cisco GLC-T or any other Cisco compatible SFP modules that could be needed. Making certain the upgrade is worth it by doing some research is important to make sure lots of money is not wasted in the process.