Well, this is more of a design question on how you want to set up the
mirroring.
if you are setting up mirroring between two servers not on top of
clustering, you do not need to set up cluster nodes, but if your a looking
for setting up mirroring on top of clustering, than yes, you have to have a
clustering set up on the OS and SQL Server level.

If you want to just mirror databaseA from ServerA to DatabaseA to ServerB,
NO you do not have to set up a clustering just to make this mirroring work.

I believe the question is straight forward, if we need clustering to mirror
a database. It depends on how you want to set up mirroring. As we see
mirroring can be done on top of clustering for better HA, but if we do not
want to do this on top of clustering, it can be done without it. This is
more of a design and SLA determination.

It is hard to just give an answer without knowing the detailed
requirements. Hope this helps.

And of course, to take full advantage of mirroring, the application really needs to use connections that fully exploit the mirror. With clustering, it's "virtual" to the application and nothing needs to change.

Database Mirroring is a technology allowing you to set up a standby database by which logs are accumulated and applied to the partner database. In Database Mirroring if the primary database should fail the partner can take over and become the primary.
Windows Clustering involves the use of two Windows servers sharing 1 or more quarum drives (on an SAN) and a virtual IP address that connects clients to the active node. If one node fails the second node will take over. The databases on the shared quarum are mounted on the newly active node on failover. Database Mirroring protects the data and since the partners aren't on shared hardware (the data is copied and syched on a completely separate server with separate storage) should a SAN or other storage tank the data is preserved on the partner.