Field Paywall allows developers to replace fields on entities with a message depending on user permissions. It's useful for giving visitors teasers to content before advising them to sign up to see more.
Paywall configuration is stored in fields because it allows developers to very easily retrofit paywalls to existing entities and export field configuration using tools such as Features. Paywalls can also be re-used across multiple entity types and bundles. Furthermore the position of the paywall can be adjusted using the Field UI display configuration.