By "homemade" I assume you mean assembling one from an external enclosure and a stock HDD unit.
I don't believe that premade ones are any more resistant to shock and vibration.
With homemade you can always replace either the enclosure or the HDD singly if there is a failure, or if you decide to upgrade to a larger HDD unit. Premade ones often make this more difficult.
Many premade models have application software included on them for automatic backup systems and other useful stuff - may be handy if you want what they give you. BUT many also have proprietary coding or security locks on the HDD, making replacement of the HDD unit or data recovery very difficult. Assembling from stock units avoids these latter issues.
It is true that an external unit containing a 3½" HDD unit (typical desktop HDD unit) inside will need a power supply module. That normally comes WITH the enclosure you buy to mount that HDD. Here's the power story background. Small 2½" HDD units for use in laptops are designed for very low power consumption with slower speeds and slightly slower performance. Often they can be mounted in an external enclosure designed for them such that the entire assembly can be powered completely by the USB2 port they are connected to. The same goes for premade "portable" external drives. A USB2 port can supply up to 0.5 amps current, and this is just sufficient to power external drives designed for that. Some external small-form-factor drive units are not quite so low on power requirements and come with a special cable with 2 USB2 connectors on its end. Both of these need to be plugged into USB2 ports to provide enough power. But when you get to 3½" form-factor HDD units typical of desktop machines, they ALL need more power than this, whether they be slower 5400 rpm units or faster 7200 rpm units. These cannot be powered solely from a USB port, and need their own power supply module. When you use that, no power is required from a USB port. NOTE that, if your connection system is NOT USB - that is, you use eSATA or Firewire - these ports normally do NOT have any power available, and you MUST have a power supply, no matter what type of HDD is inside.
It's true that many enclosures do not contain a cooling fan. Personally, I worry that a fan will wear out its bearings and need replacement, so I'd want one with a very common easily-replaceable fan. OR, as I have done, be happy without a fan! My enclosure has no fan, and I did NOT go for a low-power 5400 rpm "green" HDD inside, but it still operates at perfectly acceptable temperatures.
In choosing an external enclosure you need to pay attention especially to two interfaces:
1. The internal interface, between HDD and the enclosure, must accept the HDD type you want to use - maybe even have some options. Almost always today you'll need one for SATA, MAYBE for a small laptop-size (2½" form factor) SATA HDD. SATA II or III (more properly called SATA 3.0 Gb/s and SATA 6.0 Gb/s) does not matter - no spinning-disk mechanical HDD can deliver data faster that the older SATA 3.0 Gb/s standard.
2. The external interface, between the enclosure and the computer. In order of data transfer speed, they usually are USB2 (slowest), eSATA, IEEE1394a (Firewire 400) (these two comparable to internal SATA 3.0 Gb/s ports), IEEE 1394b (Firewire 800) and USB3 (both faster than HDD's can go; Firewire 800 not so common on PC's). Often you get an external unit (premade or enclosure) with more than one external interface, and you get to use only one at a time. Normally, only the two USB systems offer power in the port (USB3 more power than 2), although there are non-standard versions of eSATA that have power also.
Some time ago I made my own. I bought an external enclosure with no fan for a SATA II HDD, with eSATA and USB2 ports. I mounted in it a 500 GB SATA II HDD unit, 7200 rpm. I connect it to my computer's eSATA port, although I have used it rarely via its USB2 port to connect to other machines that did not have eSATA.
Here's a benefit of my do-it-myself unit. I use it for backups by making complete clones on it of both my internal HDD units, in separate Partitions. (Each of them is not very full.) My computer cannot BOOT from the eSATA port or a USB2 port. But I tested to make sure it could be a backup against disaster. I simply opened up the enclosure and removed the HDD unit (the reverse of installing it - simple!) and mounted it inside my computer, disconnecting the normal internal drives to simulate the recovery-after-disaster scenario. When switched on, the computer booted perfectly from the transplanted HDD containing the two clone images, and ALL my stuff was instantly available. After the test I just reverted to normal, transplanting the HDD back into its external enclosure. Such a process would be more difficult using a pre-made external HDD that is hard to open and disassemble, or that uses proprietary protection of the HDD unit.