A nice and easy question, but the explanation is not fully correct.
Allthough Books Online does not explicitly document this (or I overlooked it), ISNUMERIC is a function that expects a string input parameter. In the second query, the actual input parameter is an integer constant. So what SQL Server will do is first implicitly convert the integer to a character expression, and then run that through ISNUMERIC.
To see this, run this fragment with the actual execution plan enabled:
CREATE TABLE tab1 (col1 int);
SELECT ISNUMERIC(col1) FROM tab1;
DROP TABLE tab1;
In the execution plan, bring up the properties of the compute scalar operator and check the "Defined Values" attribute. On my test box, it reads:
[Expr1004] = Scalar Operator(isnumeric(CONVERT_IMPLICIT(varchar(12),[AdventureWorks2012].[dbo].[tab1].[col1],0)))
So the value in col1 is first implicitly converted to varchar(12), before being fed to the isnumeric function.
(Note: With the query as given, this cannot be verified. No actual execution plan will be given for SELECT ISNUMERIC(123), and an estimated execution plan shows a "SELECT WITHOUT QUERY" icon, which means that the result was precomputed during compilation. Similarly, a query such as SELECT ISNUMERIC(123) FROM tab1 will result in a plan where the ISNUMERIC(123) expression is pre-computed - you will see a Compute Scalar operator that assigns the constant 1 to the internal placeholder Expr1004).