Even though there is such great diversity among viruses, ranging from the type of genome it has, the type of capsid it has, and whether it has a lipid envelope or not, there is a strong similarity in the types of activities many viruses have.
Types of fusion glycoproteins (Source)
One example is the concept of membrane fusion. In order to mediate membrane fusion, viruses have adopted many different strategies. Some viruses like influenza use one fusion glycoprotein that forms a trimer to mediate fusion. These are called class I fusion glycoproteins. Class II fusion glycoproteins have a different structure, and start out as a dimer that then trimerizes during the fusion process, these include many flavivirus fusion proteins. Class III fusion proteins, like the rhabdovirus VSV is also a trimer, but is different in structure from class I fusion proteins.
Also, that was only listing fusion proteins from viruses that use one fusion protein. Paramyxoviruses use two proteins – HN to bind cells, and F to mediate fusion. Herpesviruses use 3-4 glycoproteins to mediate fusion, and pox viruses use 4-16 glycoproteins to perform fusion. All of these strategies to achieve the same purpose.
Viruses are interesting to consider in the model of evolution. When most scientists talk about evolution, they usually refer to living organisms, though it is hotly debated whether viruses are in fact living organisms (it's one of those nerdy arguments, like whether Dick York or Dick Sargeant was better in Bewitched).
The currently popular theory on how life originated was there was a pool of "proto-cells" with self-replicating RNA molecules surrounded by a lipid membrane. It is possible that the first viruses originated at this time, as a parasitic protocell that took the activity of the self-replicating RNA to replicate its own RNA. It is conceivable that while life diversified and became more complex, the same happened with these parasitic protocells. Though, because they became parasitic, they did not require developing the same level of complexity as actual living organisms.
This is why viruses appear to be so basic, including maintaining an RNA genome. Because they have always relied on a host to do their dirty work, they have never actually had a chance to develop. This is why if you want something done right, you gotta do it yourself.