Internal HDD on any mobo? Mostly the answer is yes, but with these limits:
1. Your mobo must have a controller / port that matches what the drive has. So you can connect an IDE (or PATA) drive to an IDE port, and you can connect a SATA drive to a SATA port, but you can't mix them up.
2. In a few cases, newer SATA II HDD's have failed to adjust automatically to an older original-version SATA controller on a mobo. There is a way to force them to work if you need it. This is NOT a common problem.
What company makes good ones? Several, but each person has a preference. Seagate, Western Digital, Samsung, Hitachi are well known. Look around Tom's for performance tests and articles on reliability and failure rates.
Cache is memory built into the small controller board that is part of the HDD itself. When your computer writes to a hard disk, it really writes to the cache on that unit. Then the unit's own smarts take over and plan the most efficient way to do the actual writing to the disks. Same process for reading. For example, in reading, the disk's own "smarts" will read a whole bunch of sequential disk sectors into its cache, anticipating that the next read request might be for the next sector and it will already be in the fast cache, ready to send out. The cache allows the HDD to perform faster that if it had none. More cache is better, up to a point. 16 MB is minimal, 32 MB is good, 64 MB is a bit better, and you would rarely need more so it would be hard to find a HDD with more.
The original SATA system used a MAXIMUM communication rate between the drive and the mobo controller of 1.5 Gb/s (approximately 150 MB/s). The second version of SATA, commonly called SATA II, uses 3.0 Gb/s. The newest version uses 6.0 Gb/s. To keep it all straight, the SATA official organizations want us to use the terms "SATA 1.5 Gb/s", "SATA 3.0 Gb/s", and "SATA 6.0 Gb/s". These are all MAXIMUM data transfer rates. But in reality if you measure long-term AVERAGE data transfer rates for moving a lot of data files around, it rarely reaches 150 MB/s. Why? Because mechanically moving spinning disks and heads on arms takes time, so the internal mechanism is the real data transfer limiter, not the maximum speed of the communication devices. HOWEVER, the newest mass-storage devices are NOT mechanical systems like that. They are SSD's - Solid State Drives - that are MUCH faster and may get close to the 6.0 Gb/s data storage and retrieval rate.
SAS or Serially-Attached Storage is a system that was used before SATA and still is. It is mainly used in server centers that want to connect a large number of hard drives to a server computer, often outside the computer's case in a nearby enclosure. The cable lengths involved in this made it impractical to use parallel data transfer, and fast serial transfer systems had to be created. SATA development owes a lot to that previous development.
IDE or PATA was the dominant interface system to move data between a hard drive and the mobo controller until about 2000. It uses multiple parallel wires to move data bits simultaneously - 80 wires these days, but with a 40-pin connector on the end. The data cables are about 2" wide and often called "ribbon cables". The system allowed TWO drives to share one cable and port, which made it necessary to identify each drive uniquely. For that purpose IDE devices (hard drives or optical drives) have pins on the back edge and the user must set jumpers on some of them. Each IDE port and cable MUST have one Master device (set by jumpers) connected for it to work, and that unit ought to be connected to the END of the ribbon cable. IF a second IDE device is also on the cable, its jumpers MUST be set to Slave, and it ought to be plugged into the middle one. Master and Slave are relevant ONLY to one IDE port, and many mobo's have two. So to connect devices to the second IDE port, you also must set them to Master and Slave as appropriate.
SATA (Serial ATA) devices were introduced about 10 years ago. The data is sent in a serial manner along two wires only, but very fast. But to help with all the control functions, the actual data ribbons have seven wires in total. SATA systems only allow ONE device per port, so there is NO such thing as a Master or Slave on a SATA port. Just to confuse us all, many SATA units do have pins on the back edge and a jumper or two, but those are for other functions entirely. They have NOTHING to do with Master or Slave.
Solid State Drives are just electronic circuits with a particular type of RAM, and LOTS of it, in one package that includes a way to pretend it is acting like a hard drive so that it can be connected to and used exactly like one. You can plug a SATA SSD into any SATA port, just as if it were a SATA hard drive, and it will work. But they are MUCH faster than mechanical drives, and much more expensive per GB of storage capacity.
All of these may be found mounted inside a computer case (so they are internal), or inside a stand-alone external case that connects to the computer somehow. In fact, you can build your own external drive. You just buy an external enclosure that can accept inside it a HDD of your preferred type (IDE or SATA) and has the type of connection you prefer to the computer (USB, eSATA, or Firewire). Then you mount your standard hard drive inside the enclosure, close it up, connect its power supply and its data cable, and you have created an external drive by yourself. If you prefer, you buy it ready-made instead.
Hard drives come in a few physical sizes, quite apart from the storage capacities. The most common are 3½" (the width of the case) for "desktop" machines, and 2½" for portables and laptops. There are a few smaller sizes like 1.8" for small laptops. The 3½" size is made in much larger volumes, and they contain larger disks so their capacity it typically larger. For those two reasons the cost per GB of storage is cheaper in 3½" units, significantly higher in 2½" units, and even more in smaller units. Similarly, the maximum common size you can buy in 3½" units now is 2.0 TB, but you can't get a 2½" unit over 1.0 TB.
SATA has been so successful that it is now dominant in the market, and IDE drives are slowly disappearing. Motherboards now often have one (not two) IDE ports, and some have none. But six and eight SATA ports are becoming common.