What are the differences between an "Hack & Slash" and a "Beat 'em up"? I would like to know what makes the difference between these two types of game because they look the same to me.
I don't have any sources for this other than years of playing, but, for me:
A beat-'em-up is like Streets of Rage or River City Rampage. There may be some items and character progression, but the majority of combat is determined by player reflexes and ability to read and react to the immediate combat environment. Player commands are "low level" - e.g. "swing weapon", "turn left" - and advanced play involves stringing these actions together fluidly to create combos appropriate for the situation. Time is often measure in frames.
A hack-and-slash is like Diablo or Ys. Combat is still real-time but a lot of strategic planning occurs before combat by preparing weapons and abilities and dexterity does not play as large a role. Player commands are "high level" - e.g. "attack this monster", "cast this spell" - and advanced play involves looking deeper for synergies during planning and managing resource pools (HP, mana). Time is often measured in seconds.
The distinction between the genres is fuzzy and often hard and pointless to determine. Dark Souls is usually called a hack-and-slash but its combat is slow and methodical, and so reading and positioning skills also come into play. Devil May Cry comes from a long line of beat-'em-up designs but still involves ahead-of-time planning in weapon and item choice. Something like God of War seems to sit right between the two terms, with a variety of weapons and long-duration attacks but little lockdown and plenty of cancelling opportunities.
Wikipedia seems to think that hack and slash refers to hand to hand combat focused RPGS, whereas beat 'em ups are action oriented games focussing on hand to hand combat, so "Kingdoms of Amalur: Reckoning" is probably hack and slash whereas "Bayonetta" is probably a beat 'em up. What they seem to have in common is progression through a large number of melee battles with multiple NPC enemies to achieve the goal of the game.
Wikipedia sadly fails to quote sources for this assertion.
I have always thought a beat em up game is something like Street Fighter or Tekken. Games where the sole purpose is to fight and well beat em up.
Hack n Slash is more like Devil May Cry, God of War etc where the main character has a variety of weapons + fist combo's to hack n slash there way through levels.
Hack and slash games have hand-to-hand combat with melee weapons (usually swords). They have some sort of skill system and character progression although much simpler than those of real rpgs. They usually have some sort of exploration and puzzles. Many of them focus on looking stylish and the very best do it with a difficulty as hard as it is fair. Great examples would be Devil May Cry, Ninja Gaiden and God of War series.
Beat em up is a genre of games where your sole purpose is to beat enemies up. This is done mostly by fist but often with improvised weaponry such as pipes, rocks, planks and the like. Beat em ups are extremely linear, pitting the player against incredibly numerous enemies. Great examples would be Streets of Rage, God Hand and Mad World.
There are many cases where these genre boundaries are broken. Many rpgs have hack n slash elements and vice versa, hack and slash share elements with beat em ups and so on. Dark Souls is a hack n slash/rpg, and so are darksiders, dragon's dogma and kingdoms of amalur. Batman Arkham games as well as condemned series and why not hotline miami, share a lot of mechanics woth beat em ups while remaining distinct from the genre.
The Wikipedia article for Hack and Slash says that it is a gameplay style that focuses on combat with hand-to-hand weapons. It says that this started as a play style of Dungeons & Dragons campaigns with no significant content besides such combat. In modern times it can refer to action RPGs and (as is probably the source of your confusion) beat 'em ups that mainly have close combat with hand-to-hand weapons.
Beat 'em ups are more a genre of game than a style of gameplay. Wikipedia defines "Beat 'em up" as
a video game genre featuring melee combat between the protagonist and an improbably large number of underpowered enemies.
This can be any style of game, including hack and slash as previously mentioned.