From what´s available on the web (corrections appreciated) it seems there is no law regulating the issue, but since discriminating based on looks (age, gender, weight, ethnicity, etc) is in fact illegal, the practice is altogether discouraged in the US.
I personally consider that not including a picture protects job candidates from discrimination. I believe this is also the reason it is at least looked down on in the US, thus my surprise when finding out about it being common practice in Spain (and most of Europe).
Employers may argue that professional appearance is an important reason to request a photo, however the multiple possible interpretations of what exactly this means is never clear. In addition, establishing a dress-code during the interview or once recruitment is over, can do away with the need for in-advance pictures.
Another reason employers have for requesting a picture in some cases is what is known in legal terms as Bona Fide Occupational Qualifications (BFOQ): specific characteristics or features that are essential to the position the person is applying for. A good example is requiring candidates to be within a certain range of age for jobs that may be physically demanding. But then again, once they specify the BFOQ on their advert, why would employers need a picture?
That said, besides acting or modelling, are there any positions for which a specific look could be a BFOQ? Not to me, and therefore I don´t think there´s any good reason to ask for a picture on a CV.