The answers to both questions depend on many things.
1. HDDs can last from being dead as soon as you get it to several years. I had an old Maxtor that lasted seven years and I took it out of service only because its technology was horribly out of date. I also had a Seagate that was dead when I received it. All HDDS will fail sooner or later, given enough time. While one can understandably want to get a HDD that will last as long as possible, it's just not possible to depend on it to do so. That is why it is extremely important to keep duplicates (also called backups) of your data so that, if the HDD your data should die, you will be able to replace your data from the backup. It is also wise to keep more than one backup since the HDDs (or other media) they are kept on can fail.
As for specific brands, I generally look for the ones with the longest warranties. I've had far better luck with Western Digital HDDs than I've had with Seagate HDDs. Others have had better luck with Seagate than they have with Western Digital. All manufacturers have occasional bad runs so the best thing to do is look at recent customer reviews of any brand you are considering to make sure most people aren't having problems.
2. Whether SSDs are better or worse than HDDs depends on what one will use them for. For sheer speed and physical shock resistance, SSDs are best. But, they are also the most expensive. HDDs are best for storing large amounts of data because they are available in larger sizes than SSDs. They also cost much less than SSDs. Generally speaking, SSDs are best for installing an OS and programs on because they will boot an OS and open programs much faster than HDDs. HDDs are generally best for storing data because they can hold more and are much less expensive. Unless one frequently moves huge blocks of data on and off a drive, the faster HDDs (ones that spin at 7200 rpm) are fast enough for handling data.