Awesome means “extremely impressive or daunting; inspiring great admiration, apprehension, or fear”, those two last meaning being much less frequent than the others
Awful means very bad or unpleasant.
So at first sight, they look to pretty much at the opposite ends of the spectrum. However, both words have pretty much the same etymology:
- awe+ful means full of awe
- awe+some means which has the quality of awe
Awful was created much earlier than awesome. In around 1000 AD, it meant “worthy of, or commanding, profound respect or reverential fear”. Then the word evolved to only mean “causing dread; terrible, dreadful, appalling”.
With this meaning shift, awful left room for another word derived from awe, and around 1600 appeared awesome, with the meaning that hasn’t changed until today.
As a summary, there are a lot of things that are both awesome and awful, and these words are both friends and foes.