In some cases it's probably better to keep the child with their natural family. I know if I had a daughter who was a pregnant teen, I would offer help rather than have her give the child up, or I would adopt the child myself. I'm not saying this is what others should do and I wouldn't tell her what to do, but the offer would be there because that child would be my flesh and blood too and I would be there to raise it if she was unwilling or unable to.
Having said that, I am going to do everything I can to prevent such a thing happening because I want her to reach all of her potential without any obstacles like an unplanned pregnancy. I seriously hope and pray it never happens but I would be there to support her if it did. Maybe it's extended family (grandparents) that are part of the reason the children are kept. Also, because the stigma of unwed motherhood is not what it used to be.
Oh and another thing is, and I'm not saying all teenage moms are like this but there are definitely quite a few where I live that keep a kid because they get more money from welfare. I have worked with a lot of teens and some of them are third and fourth generation welfare and they grow up thinking that it's like a career choice. I'm not even being sarcastic, they see their families doing this and they will tell you that when they grow up they will just go on welfare and have kids so they don't need to finish school. And they look so surprised when you tell them that's not what welfare is for because everyone they know is doing it.