Большинство людей сказали это - Простой старый объект CLR (в отличие от более раннего POJO - Простой старый объект Java)
POJO один вышел из EJB, который требовал от вас наследовать от определенного родительского класса для таких вещей, как объекты-значения (что вы получаете от запроса в ORM или аналогичном), так что если вы когда-либо хотели перейти из EJB (например, к весне), вы были чучела.
POJO - это просто классы, которые не вызывают наследование или разметку каких-либо атрибутов, чтобы заставить их «работать» в любой среде, которую вы используете.
POCO такие же, кроме .NET.
Как правило, он будет использоваться с ORM - более старые (и некоторые текущие) требуют, чтобы вы наследовали от определенного базового класса, который связывает вас с этим продуктом. Более новых нет (nhibernate - вариант, который я знаю) - вы просто создаете класс, регистрируете его в ORM, и вы отключаетесь. Гораздо проще.