When Execution Plan Cost Differs From IOPs and Time
SQL server uses a cost based optimization model. The exact cost will depend on the row size and distribution info which will be context-sensitive and dynamic. Even in actual execution plans, the cost figure is based on estimates.

From : An Introduction to Cost Estimation


  In recent versions of SQL Server this cost should no longer be interpreted as seconds, milliseconds, or any other unit.


Back to your question :


  what's the best way to determine which is more effective?


I used to rely on statistics time and IO. Any change I make e.g. create index, rewrite the query, use query hint, update / create statistics etc. I would measure the CPU time, reads and writes.

Since I purchased SQL Sentry's Plan Explorer PRO, I just use it to compare the before and after plans.

Also, you can get Multiple Plans for an "Identical" Query - check the SET options, any cAsE and whitespace or schema references as well.

Great references :


Inside the Optimizer: Plan Costing
When is a Seek not a Seek?