Three reasons for Shannon’s reunification with Caterina:
Caterina is complying with all recommendations
Even though she struggles with addiction, it is clearly important for Caterina to have Shannon back home
Shannon seems to know the right thing to do when there is a problem, like calling Nathan and Marie to take care of Shannon when she had to be hospitalized
Three reasons for Shannon to remain with Nathan and Marie:
Permanancy-willingness to adopt
Stable environment-Shannon has lived with them longer and knows them very well
Better life-would most likely be better able to provide for Shannon.