I learned REST and it feels a lot like CRUD (from what I have read about CRUD).

I know they are different, and I wonder if thinking they are similar means I don't understand them.

Is it that REST is a "superset" of CRUD?  Does it do everything CRUD does and more?

Surprisingly, I don't see in the other answers what I consider the real difference between REST and CRUD: what each one manages.

CRUD means the basic operations to be done in a data repository.  You directly handle records or data objects; apart from these operations, the records are passive entities.  Typically it's just database tables and records.

REST, on the other hand, operates on resource representations, each one identified by an URL.  These are typically not data objects, but complex object abstractions.

For example, a resource can be a user's comment. That means not only a record in a 'comment' table, but also its relationships with the 'user' resource, the post that comment is attached to, maybe another comment that it responds to.

Operating on the comment isn't a primitive database operation, it can have significant side effects, like firing an alert to the original poster, or recalculating some game-like 'points', or updating some 'followers stream'.

Also, a resource representation includes hypertext (check the HATEOAS principle), allowing the designer to express relationships between resources, or guiding the REST client in an operation's workflow.

In short, CRUD is a set primitive operations (mostly for databases and static data storages), while REST is a very high-level API style (mostly for web services and other 'live' systems).

The first one manipulates basic data, the other interacts with a complex system.
