With respect to the differences between different types of ships, i.e. cruisers, destroyers, frigates and corvettes, there are a few different factors which come together to showcase the differences.
Probably one of the easiest to define in terms of differences would be corvettes. They are typically small (100m>length) ocean-going combatants, which can be armed with some combination of cannons, SAM and AShM and torpedoes. In many respects, the weapons loadout of a corvette can be similar to that of a larger vessel like a frigate. Where it is typically different is that either there are less of a weapon (few SAM's and AShM) and/or the weapons are smaller, like a 76mm/62-cal main gun in place of a 5" or 127mm/54 or 62-cal main gun. Corvettes typically also have shorter endurance at sea due to size as well.
Next up (in size) would typically be frigates, which are generally somewhere between 100-150 m in lenth, although many GP frigates are around 120m in length. These are typically general service escorts, able to provide a level of ASW, ASuW and AAD and self-defence.
Destroyers are next up, and while they are often a little larger than frigates, there are some frigates which are larger then some destroyers. These vessels tend to have some specific roles in mind, like land-attack or area air defence, and their weapons fitout tends to lean towards whatever role the destroyers have. Like being VLS cell heavy for SAM's and LACM's.
Lastly come the cruisers. Now cruisers are often large combatants, usually larger than escorting destroyers, but not in all cases. The Ticonderoga-class CG, as well as the Spruance- and Kidd-class DDG's were all based upon the same hull. What sets a cruiser apart is the command role which a cruiser usually fufills.
Hope this helps.
-Cheers