İki tablodada eşit miktarda olmadığı için ve username'de eşit olduğu için her sorgu aynı id'nin bilgilerini alıyor.

Birde şunu dene
SELECT content.*,polls.* FROM (SELECT c.id as 'contentID', c.title as 'contentTitle',c.username FROM forum_content as c WHERE c.username='{$user->username}') as content INNER JOIN (SELECT p.id as 'pollsID',p.title as 'pollsTitle',p.username FROM forum_polls as p WHERE p.username='{$user->username}' GROUP BY p.id) as polls ON content.username=polls.username
Olmazsa stored procedure ile yapmaya çalış. İf kontrolü kullanarak istediğini alırsın.