Looking at the dress in question I feel it was a bit of a design fault, I think it is unlikely the shoulder should be sitting so much higher than the other.
As you can see here, when the dress had been tried on, the shoulder was off by almost 2cm.
So first of all place your pins on the inside where the new seam will go and unpick.
Stitch your seam in the new position only catching one of the layers on one side.
The reason you only catch one seam on one side is that you are going to let it lap over the seam and turn it under.
Pin it in position then hand stitch taking care to only catch on the underside of the fabric.
Next tackle the side seam
Keep the pin in the position where you want your new seam to be. Sew seam in the new position be sure to taper it gradually, trim away excess, and fold facing to wrong side of dress. Hold in place and topstitch into the seam on the right side of the dress making sure your stitches stay in the seam.
Once you have had a go at this it will make more sense, why not try it out on something old first of all. I learnt to sew by doing, trying on my own and I feel no amount of books or courses will make up for just having a go. If you practise on ill fitting garments that you never wear anyway then you have nothing to lose. I hope this was of some help.