If you can convince the reporting users that they don't really need real-time reports, you can take advantage of the ability to create a snapshot of the mirror database. See Database Mirroring and Database Snapshots on Technet.
Unlike the mirror database itself, a database snapshot is accessible
to clients. As long as the mirror server is communicating with the
principal server, you can direct reporting clients to connect to a
snapshot. Note that because a database snapshot is static, new data is
not available. To make relatively recent data available to your users,
you must create a new database snapshot periodically and have
applications direct incoming client connections to the newest
Mirror/snapshot combinations can also be beneficial if you want to run ETL over an OLTP database to load into a data warehouse. Example architecture in this article on SSC.
The advantage in both cases is removing the overhead of running a replication feed, if you can convince your users that an hourly lag on reporting data is acceptable. In the vast majority of cases it is perfectly reasonable but the perception can be tough to change.