The main difference between side chains and state channels is side chains have a lot of flexibility in their design, e.g. they can have a different concensus mechanism etc… in State channels, because the Dapps are built on the Blockchain, they are bounded to the mechanics of the Blockchain, e.g having the same concensus algorithm etc.. but the good thing about being bounded is that whatever benefits the Blockchain has from it’s design, the Dapps will also have.