27
If "addresses" is an association which it looks like, then they are different but they should return the same result.
#count is provided by ActiveRecord and will execute something like "select count(*) from addresses where user_id = ".
In the other cases, #addresses will build an array containing actual model objects and #size and #length are provided by the Array class or maybe Enumerable.
So #count is probably faster, because the counting happens in the database. Not much good if you actually need the addresses tho :)