You will get a performance hit with a larger table, you will also get a performance hit with multiple tables. But if your most used query is only getting a little bit of information then it'd be better to split your tables.
Here is a basic overview of how most databases work.
They store your data in a file on the hard disk. The file is formatted so that the database knows how many blocks each record in the table holds. When you select information from the database it starts reading in records from this file. The database then puts your query information to this data to generate your result set.
So if you aren't using an index then your database is reading every record in your table(s) and comparing it to the query that you entered and throwing away that which it doesn't need. Now databases do this very fast, but if you have a very large table, or very large records then the database has to go to the disk to get it's information more times. This disk access is where most of your slowdown is going to be.
Using indexes will speed things up a bit since the database will know what sections of the disk to access for it's records but if they are large records it will still only be able to hold so many in it's cache. By splitting you table into logical groupings of data you limit the number of times you need to access the disk for a single query, unless you are joining all of your tables together then you are back to the single large table.
In my opinion it is alwasy better to have more tables. A 50 column table is out of hand, how could you easily look at all of that data and do something with it? Splitting it up will allow you to have less data redundancy, which means less data and less disk access. Also you will be able to use the database to enforce some integrity on your data which is a very good thing.